St John would be my choice, but St Thomas has nice beaches too. I like St John because it is a quiet and more natural island, St Thomas is a busier and more developed island. One advantage that St Thomas has over St John is the ability to stay directly on a beach at affordable rates.