We booked this trip through Daniel at the Fiesta Americana Cancun Hotel. It was one of several different ones you can book. One of our party didn't want to snorkel, so we didn't book the all-inclusive one. We still got one that included round-trip transportation, breakfast, lunch, and beach activities. The trip cost $45 per person.
We really enjoyed the snorkeling. They take you in a boat off around the island and drop you off. You then follow the current around the island; all the while the boat is following you, so you can always get on board if you get tired. The current carries you along, so you really don't get tired.