The television weather service SRF Meteo reported 29,155 lightning flashes within four hours.
The areas worst affected by the heavy rains and hurricane-strength winds were the Zurich region and eastern Switzerland.
In Rüti in the canton of Zurich a 49-year-old man died on the spot when he was struck by a falling tree as he pushed his bicycle along a pavement.
The storm began in western Switzerland, the weather service said, with lightning striking in Chablais, south of Lake Geneva, just before 4pm.
A front then developed that crossed the Vaud Alps, the Bernese Oberland, central and eastern Switzerland before moving off into Germany.
Rail traffic was affected in places, with the main Lausanne-Geneva line still not fully open on Wednesday morning, railway operator SBB reported.
The regional express service from Lucerne to Geneva was not running between Lausanne and Geneva airport.
Services had returned to normal by the afternoon.
Winds of more than 100 kilometres an hour were recorded in the Zurich and St Gallen areas, knocking down trees and damaging gardens and balconies, SF Meteo said.
In some places flooding was reported after 30 litres of rain per square metre fell in just 20 minutes.
In Gross in the canton of Schwyz lightning caused a barn to catch fire.
A 100-year-old motor vessel, the MS Schwan, sank in the Lake of Zug, local police reported. No passengers were onboard at the time.
In Sargans, St Gallen, tents erected for an open-air festival this weekend were destroyed or blown away.