Pretty much any spot in the ocean will be great

we stayed at Barcelo Maya Palace and even the beach there is Great for snorkeling. TONS of Blue Tangs ... big ones too
Xcaret is good for underwater rivers and snorkeling through them. Xel Ha is good for the all inclusive addmission

Cozumel would be the best place to see some remarkable reefs though.