St. John's is beautiful. It's better to go on your own than through a tour. There are 2 water taxi's. One is in Charlotte Amarlie and the other in Red Hook. The one in Red Hook is more frequent. Just take a taxi over to Red Hook, buy a round trip ticket for the ferry (it saves time on the way back), take a taxi to Trunk Bay, there is an admission fee to get into the park since it's part of the US National Park service. The beach is spectacular. Now, they don't have services like at Orient Beach but do have a small store to purchase drinks and sandwiches. They don't have chairs for rent so bring an extra towel or a beach mat. They have snorkel equipment to rent and I don't know what else (haven't been there in a couple years). The good thing is - no vendors to harrass you. Catching a taxi back and catching the ferry is easy. You just have to watch the time. If you head over early morning, 2 - 2 1/2 hrs is plenty of time to enjoy the view. It's MUCH better than Megan's bay (which to me only looks good from up above).
Here's a couple photos that Red & E took a few years ago.
If you decide to beach it on St. Thomas, I would suggest Sapphire Beach or Coki Beach. Sapphire Beach has a time share resort there so you can rent chairs and snorkling equipment. They have parasailing and Jet ski's to rent. We may end up there as my gang may want to do the Jet ski thing.
I've been to many beaches in the Carribean. I personally prefer the ones that don't have all the vendors and are crowded like Orient Beach where it's wall-to-wall chairs and bars. I think we went to the far end which is called Orient Bay or something like that the last time to avoid the crowds.