I tried cruise line excursions, outside vendor excursions and took the ferry to St. John on my own once. Cruise line excursion and outside vendor are very similar. Normally, the outside vendor is cheaper, provide drinks/snacks and less participants in a group. However, you do run the risk of getting late to the ship. For my own comfort, I give myself plenty of time to return to the ship--for example, taking a morning excursion instead of one in the afternoon. I never had an issue, but things happen.
I was traveling with a group of 10 when I did my own transportation to St. John. I was trying to save the group some money. We took a taxi to Red Hook, ferried to St. John, then another taxi to Trunk Bay. Spent a few hours there, taxi back to take the ferry to Charlotte Amalie. Did some shopping then taxi back to the ship. We were at Trunk Bay longer than the cruise excursion guests. I think the excursion was about 3-4 hours including travel time. My ship was in port for more than 8 hours, so my group got to stay in a quiet Trunk Bay for a little longer. If I want to go to St John again and not interested in deep water snorkel, I probably will take the ferry on my own again.