Just got off the Fantasy 11/28 and we did Tortola and St Thomas. Its our third time doing Eastern Caribbean.
My recommendations:
Tortola: Definitely Cane Garden Beach. We have done it all three times. Love it! $16 round trip via local taxi to the beach. Beach is just the right amount of crowded/not crowded. There is a rustic bathroom/changing area and some little shopping trucks. Also plenty of little bars restaurants on the beach. Rental of 2 beach chairs and umbrella is $15 I think (or $30, I forget). 30 minutes from the ship each way via taxi. Go to the website "resortcams cane-garden-bay" to see how the beach looks. Taxi driver had plastic sheets between us and him and he wore a mask for the whole drive. Ocean water temp was great, CC was a lot colder (November). Very calm and clean water.
St Thomas: We have done Magen's Bay (over crowded and pricey), and we did a private island tour (not much to see). We have done St John's via the
Disney cruise and want to go back to St Johns, but not via Disney. Its way to short if you go with Disney. The Disney tour (for us, pre-pandemic) left at 11 and we got to the beach at around noon and had just 1.5 hours on the beach for a steep price. If you do St John's get up early take taxi to Red Hook and take ferry to St. John's then taxi to the beach. I haven't done it but the family said I have to figure it out out for the next cruise. St John's has the National Park beach, beautiful and empty. There is a little snack shopping truck/table which is perfect. There is bathroom and changing area nicer than Tortola. Get the local root beer.
Hope this helps.