In Tortola I would recommend Cane Garden Bay -- a little crowded but lots to do. The trip from ship to the island is great, also. For a really great time, tho, try Virgin Gorda. There's a ferry run there and then taxi to the baths (lots of people) or to Savannah beach (almost no one except sand crabs, coral, and fish).
We were there a year ago and went to smugglers cove.. It is not an excursion the ship offers. The beach is not easy to get to and the last mile is bumpy dirt road. It is a great place for snorkling, but only ok as far the the beach. No food or changing rooms available.