Can't help you with Grand Turk as we have not been there as of yet. But for St Thomas, we like to go to St John and go to a beach. The most popular is Trunk Bay, but there are several beaches there in the US National Park system. You can take a ships tour, but you can also take the bus or a taxi to Red Hook and take the ferry to St John ($7 a person I think) and then on St John there are taxis running to the beaches. Just give yourself about two hours to get back. The ferry runs every half hour so if you just miss it you lose a half hour and then its about 20 mins in the ferry. Then a taxi ride back to the ship can take 30 mins. It works out to be a little cheaper than the ships tour but you also can stay longer than the ships tour stays.
Carnival Cruise Lines:
Fantasy 90, Celebration 95, Victory 05, Conquest 05, Spirit 6/06, Freedom 6/08, Holiday 7/08, Victory 6/09, Valor 9/09, Dream 6/10, Splendor 8/10,Conquest 8/11,Magic 11/11,Triumph 4/12,Spirit 7/12,Freedom 11/12, Triumph 2/13 - The fire cruise
NCL Dream October 2006, RCCL Mariner OTS June 2007