I have a few suggestions for St. Thomas. I went there in June. For great duty-free shopping, I recommend Yacht Haven Grande. If you're there over lunch, there are a lot of waterfront restaurants to dine at there. I ate at Wikked, which was good. A more casual waterside dining option is Iggies Beach Bar at Bolongo (while I do work with the resort, the beach bar has received several recognitions as one of the best beach bars in the Caribbean). If you're at Iggie's at night, there is always live entertainment.
I would say to definitely see Maagen's Bay, which is a beautiful beach and has been listed as one of the best beaches in the Caribbean by several publications. I dont have many other activities to recommend, as I was quite busy in meetings while I was there. There are great Caribbean experts on this site, and I'm sure they can add a few more tips and recommendations. Have a fun trip!
From my side I recommend Cococay, Bahamas. It's Private Island that is leased by Royal Caribbean Cruises. It's a small island but have much more to do like scuba diving, snorkeling, volleyball etc, cruise-ship destination, white sand beaches. It's one of the dreams spot for vacationers. For choosing a perfect beach, I advise you to just walk around the Island and pick your beach spot for enjoying the vacation.