I am pretty sure it would be Cruz Bay since Coral Bay really is not "a town" it is more of a place. And a lovely place indeed.
There are villas, small inns in the Cruz Bay area. VRBO does have a good selection of the places available.
Here is a listing for some of the small inns available:
Small Inns St John I would recommend you rethink your no car strategy. Public transportation is very limited and riding in taxi will cost you a fortune for a week.
There are some beaches that you can reach on foot from Cruz Bay, but it is a hike. If I am mistaken and you are considering Coral Bay, not Cruz Bay, a car is a must.