To go along with the shore snorkel info that juanrojo put together and Vancouversundog posted we could list a bunch of ideas/experiences for snorkel tours via boats and he'll add them to Top Questions for us. Thanks Vancouversundog.
I went twice with Aquanuats. 2 reefs, 2 hours...price is now $30. The boat picked me up at Hacienda Morelos and returned me to the hotel. Included life jacket and equipment (if you needed it).
There's other providers and tours from the main dock (some members have specific names of people..Harry? Charlie? The only one I remember is Abraham and I met him as the man that hand paints the tiles - lovely guy) ...maybe you're willing to add to the list?
Thanks...Happy and safe travels. :-)