Corona Beach was suggested to us by a local as a nice low cost location to snorkel for the beginner to intermediate level snorkeler. Ask any taxi driver downtown to take you to Corona beach, and for $10US he will take you to the small bar/snorkeling operation. (Only in Mexico would one combine drinking and snorkeling.)
It is a safe enviroment in spite of this odd combination, with two people monitoring all activity in the water. Just 20 feet from shore, you can observe many types off fish and coral. We found this to be one off our most enjoyable days of our vacation.