I did not go to the beach in San Juan , however, there are public beaches you can take a taxi to.
In St Thomas you have very many beach options. All are just a cab ride away.
Most popular is Maegens Bay. A beautiful idealic beach with full facilities. There is a nominal charge for admission, I believe it is $3 maybe $4 .
Cki Beach is also popular. Located next to a paid attraction called Coral World. No admission charge for Coki. Full facilities available and deceny snorkelling off the beach.
A third option is Saphire . No admission, full facilities and snorkelling.
Some folks take a cab to the Red Hook Ferry and go to St John for beaches like Trunk Bay (and others).
On Tortola you will find about 25% of the pasengers head over to The Baths on Virgin Gorda (a neighboring island). Stick with the ships excursion if you want to do this trip.
Other options would be to take a cab to Cane Garden Bay (most popular) or Brewers , or Apple Bay. CGB has many beachside restaurants and bars and is a very pretty place. Be sure to give yourself time to get back to the ship as you sail very early from Tortola.
A hint about Tortola. This is a much more undeveloped and laid back island than the others (not poor however). The natives do not particularly like the large influx of day tourists off a cruise ship. Be patient, polite , smile and take the time to say hello. You will find the service improves greatly.
I would highly recommend Cane Garden Bay. There is no charge to enter the beach and it is one of the prettiest beaches I've ever been to. We stayed for a week right on the beach and loved it (once we got used to the wild goats and chickens!).
There are several restaurants right on the beach, too. And they were very nice to us in the week we were there - after all, they did like us spending our money with them.