The incident occurred on Saturday around 11.30am in foggy conditions on the stretch of the highway between Vennes and Chexbres, east of Lausanne, just before a tunnel.
Forty six of the 50 vehicles involved were damaged in the chain reaction accident.
The injured were taken to the regional hospital.
In a bid to find out who was responsible, Vaud cantonal police are looking for the drivers of a dozen vehicles involved in the crash who fled the scene before officers arrived.
Some of the vehicles that left were apparently damaged, police said.
But an insurance expert told Le Matin that all the drivers “were to a certain extent at fault” for not respecting a safe distance between their vehicles.
The accident occurred on an elevated section of the highway overlooking Lake Geneva above a ravine.
Martial Grognuz, 48, told Le Matin he was stuck in his Saab beneath a Jeep that rode up onto the windscreen of his car.
“If I had exited by the window I would have fallen into the ravine,” said Grognuz, from Prilly in the canton of Vaud.
“Fortunately, I got out by the boot (the trunk).”
He explained that his car wedged under the rear of the Jeep after he braked in vain to avoid a collision after travelling at an estimated 40 kilometres an hour.
One of the wheels of the Jeep pierce the windscreen on the passenger side but Grognuz escaped injury.
Police transported many of the motorists and passengers involved — around 100 people — to a cantonal police centre in Lausanne, where they were given soup and hot chocolate.
A section of the highway was closed until 4pm on Saturday, while 100 officials from the cantonal police department, rescue services, fire department and other organizations arrived on the scene.
Police said people involved in the accident who have not yet reported to police can do so by phoning 021 644 83 48 between 7am and 5pm.