I would guess it is about the same either way. I would think the ferry from Charlotte Amalie would be easier - there is a LOT of traffic on ST and you could get stuck in a taxi. With a ferry you know exactly how long it will take.
many cruises drop you off at St John in the morning, and then leave it up to you to get back to St Thomas. Check the shorex onboard to see if they do this. It might involve booking a St John Tour.
You certainly have the time to get over to St. Johns....Just get a cab from the pier over to Red Hook Ferry, but check their schedule, I think they run every hour on the hour...Once at St. John, a shorter cab ride to the beach. Absolutely beautiful beach, worth the time and effort getting there. You can still have some shopping time when you return in the afternoon.