The Euro Bus was spotted floating in the lake around 6am by a witness who contacted the department before it submerged, cantonal police said.
The 39-year-old Serbian driver of the coach, from Macedonia, parked the vehicle in the market square in a designated area on Sunday afternoon.
For reasons not immediately known, the vehicle moved from its parking place and down a boat ramp leading into the lake, police said.
The bus drifted several dozen metres before sinking near a jetty for passenger boats, according to the police report.
No one was aboard the bus, which was eventually hauled out of the water at 2pm.
The salvage operation involved divers, fire fighters, police officers and other emergency workers, as well as environmental officers.
Divers were able to attach a “parachute” that was inflated beneath the bus to ensure that it did not get caught on the rocky lake bottom, police indicated.
The salvage operation disrupted the passenger boat service run by the Compagnie Générale de Navigation, which was unable to dock its vessels at the Vevey jetty for several hours.
The online site of the 20 Minutes newspaper reported that the the driver of the bus was on a short holiday visiting relatives in Vevey after driving the bus from Macedonia to Bern.
Euro Bus sent out a replacement coach for the return trip from Bern to Macedonia, 20 Minutes said.
It quoted a spokesman from Euro Bus as saying that the coach that sank was a relatively modern vehicle in “good order”.
The investigation into the incident continues.
Divers work to salvage bus. Photo: Fabrice Coffrini/AFP