I love both of these islands!
In St. Thomas I would STRONGLY recommend
Caribbean Sea Safari, Snorkeling and Beach Tour (ST46)
A very short walk down the pier from the ship to board the catamaran, and you're off with an amazing crew (every time I've done it at least) with an hour of snorkeling at Buck Island where you can see sea turtles and a shipwreck. Absolutely incredible!
Then they take you over to Water Island's Honeymoon Beach, which is only accessible by boat. They are also serving complimentary soda and Rum Punch (for 21+ guests) as you travel over there, while you are there, and on your way back.
I think you get another hour or so on this incredible beach (no food provided but last time we were there, there was a small eatery on the beach serving burgers, conch fritters, etc.).
For Tortola, I've tried several different and my absolute favorite is
Beach Express (TT68)
It's a bit of a lengthy drive over to Beef Island via the Queen Elizabeth II Bridge, but the isolated beach over there is absolutely stunning, and in my experiences virtually private (it's open to the public but each time it's just been our tour group).
That being said Jost Van Dyke is amazing, they take you to White Bay Beach - home of the Soggy Dollar Bar, where the Painkiller drink was invented (and is incredible if that's your sort of thing.) Here's their
live Webcam
Also, The Baths at Virgin Gorda are an incredible and unique experience and make for some great photo opportunities that aren't just white sand beaches