The upscale town in the canton of Graubünden ranked only behind New York in the GoEuro Accommodation Price Index, which studied 150 towns and cities and more than 60,000 properties.
At an altitude of 1,856 metres, Saint Moritz, which bills itself as “chic, elegant and exclusive with a cosmopolitan ambiance”, is this year celebrating 150 years as a holiday destination.
The GoEuro study calculates the average cost of stay at shared Airbnb homes, hotels ranked from one to five stars and hostels.
It put the average price for one night in Saint Moritz at $183 while the average for New York is $246.
Macao ($168) comes third, followed by Miami ($167), Nassau ($150), Boston ($147), Venice ($146), Dubai ($142), San Francisco ($141) and Monte Carlo ($134).
Among Swiss cities, Zurich ranks 13th, Geneva 19th, Bern 24th and Lausanne 26th.
The rankings are influenced by such factors as the price of Airbnb accommodation.
“In the last 10 years the hospitality industry has evolved significantly,” GoEuro says.
An increasing number of travellers are now favouring shared accommodation over traditional hotels, it says, while adding that millennials are taking a greater share of the market “helping hostels grow at a faster pace than the hotel industry”.
When Airbnb prices are considered alone, Saint Moritz shows as being more affordable, dropping to 18th place at an average of $171, behind Zurich ($172), which ranks as 16th most expensive.
Boston ($274) tops the Airbnb most expensive list, followed by Cancun (Mexico), New York, Dubai and Macao.
When it comes to most costly five-star hotels, St. Moritz ($687) ranks second only to Punta Cana in the Dominican Republic ($1,323) and ahead of Miami ($680).
The study rates Zurich and Saint Moritz as the third and fourth more expensive places to stay in a hostel after second-ranked Miami and top-ranked New York.
Tirana, Bulgaria wins honours as the cheapest place overall to stay of the 150 locations surveyed.
The average price of an overnight stay in the city is listed as $32, while a room in a five-star hotel averages $87.
Its Airbnb nightly cost of $30 is the most affordable on the list.
For more information, check here.