The boat was reportedly carrying a group of foreign tourists celebrating a birthday plus two crew members.
Firefighters initially said three bodies were recovered after a boat capsized at the southern end of the lake near the town of Lisanza, about 50 kilometres northwest of Milan.
A fourth body was recovered at a depth of 16 metres close to the wreck, and no other people were believed to be missing.
Local reports said the tourist boat, which had some 24 people on board, capsized on Sunday due to a sudden whirlwind.
Twenty people managed to swim to safety and were rescued unharmed.
According to the president of the region of Lombardy, Attilio Fontana, the 16m-long sailing boat had been rented by the tourists.
Italy has suffered a series of recent disasters linked to extreme-weather events, including the flash flooding caused by torrential rain that claimed 15 lives in Emilia Romagna this month and last November's landslide on the Gulf of Naples island of Ischia which killed 12 people.
Scientists say that extreme weather events like heat waves, supercharged storms, flooding and droughts are becoming more frequent and more intense because of climate change caused by human greenhouse-gas emissions.
ANSA