We went to Coral World and then Coki Beach right next door. The beach is beautiful, gentle waves and great snorkeling no more than 10 yards from the beach. Coral World is a lot of fun, and you can easilly do it in 1-1.5 hours. Plus if you buy admission to Coral World, you get to use their showers after you are done with the beach. They have discount coupons at the info booth at Havensite Mall. The beach was pretty busy but it wasn't a real problem. You can tent chairs, umbrellas and snorkel equipment right there.
It was our favorite day of the cruise, and we are already looking to book a week in St Thomas because we had such a good time.