You can do it on your own. The cruiselines usually put the shore excursion passengers on the same exact ferries you would be on. Check out www.vinow.com for ferry schedules, rates, descriptions of the many beaches along the north shore of St John, etc.
Just remember that St John is totally different from St Johns (Antigua).
K. Irvine, we did St. John Trunk Bay, it was awesome. It costs $40.00 for 5 people for a taxi from the pier of St. Thomas to the Red Hook ferry. Then another $40.00 bucks from the ferry pier in St. John to Trunk Bay. And that price is 1 way. We had a Snuba excursion that I booked on my own in ST. John.
I don't know how long you will be in ST. Thomas, but you might want to stay in St. Thomas, the traveling time it took us used up alot of our time. Hope this helps. Paul
When we were in St Thomas what we did was we picked up a taxi and took that to the Red Hook Ferry and took the ferry over to St John....In cruz bay we rented a jeep for about 6 hrs and toured the island ourselves. It cost us maybe 75 total for the 2 of us and we were able to visit Trunk Bay, visit Annaberg sugar mill ruins, and drive entirely around the island ourselves and eat lunch at Skinny Legs. It was so great!!! I'd do it again in a heartbeat!