St. Thomas is a nice place...although you may fall short if you are not from the Cruise liners most shops will not open unless a liner is docked. There are limited places to dine for breakfast or local if you stay at a local resort.
Overall the beaches are beautiful. My next bet will be to stay at a highend location with an all-inclusive package.
St. John has beauty area beaches as well. We boarded a cargo boat and travel the island by motocross bike which was pretty cool.