You should check into a "daysail" which is a full day of sailing on a sailboat in the beautiful waters around St. John. They only take six people, so it is awesome and ucnrowded.
I recently went on the "Lou" with Captain Max and had a wonderful time. Very personalized service to what we wanted, not what they wanted to give, which impressed me. They have a full gourmet lunch, drinks all day and snacks. It is beautifully prepared and presented with fresh fruit and fresh flowers. The sailboat was a beautiful restored wooden sailboat. Absolutely gorgeous.
Basically you take a cab down to Red Hook, and they meet you there. It is usually from around 9 to 3:30. It will be an experience you won't forget - snorkeling and swimming around the beautiful waters, in private cays. You have plenty of time to get back to your ship. In fact, we had the taxi drop us downtown and we shopped for two hours before going back to the ship, so we got to experience the waters, and shop!
Their e-mail is firstname.lastname@example.org if you want to talk with them. The do alot of work with the guests from hotels as well. We came in on a cruise ship, but they work with both. Good luck and have a great time.
E-mail me with any questions. Their e-mail is www.sailwithcaptainmax.com I believe. An experience of a lifetime at around $110 per person. And you dont' have to share it with 100 other passengers on a ship excursion for about $20 more.