We have snorkeled at Sapphire Bay, both staying there on vacation and while stopping in St. Thomas on our cruises. The hotel has watersports rentals, restaurants, a pool, a nice long sand beach, and reefs very close to shore on the right side of the beach. We took a cab from the port as soon as we got off the ship and arrived about an hour before the excursions did.
We have also done the Leyland Sneed [sp?] excursion to St. John's. Nice, but a long boat ride for not much time in the water.
We have also visited Coral World on every trip, and love it. My son and I did the sea trekking there last time -- you wear helmets that rest on your shoulders, receive pressurized air through long tubes, and walk along an underwater path led by a guide. Saw lots of waterlife, and handled a few things that the guide found. Next to Coral World is Coki Beach which I've read has good snorkeling, but I've not been there.
Good luck!
Karen
Wonder 1/01
Magic 3/02
Magic 11/02
Carnival Destiny (don't ask) 12/03
Booked on Magic Eastbound Panama Canal 8/05