Cozumel for sure.I was just there in december,snorkeled playa corona.Its a public beach just south of the main town,about $10 taxi ride.Decent reefs right off the beach,free,however,you should buy a couple of beers or some cevice--awesome here.
When you enter the water,go right,more interesting stuff along the shoreline.