The storm was some 198 kilometers (123 miles) southeast of Manila at 4:00 am Saturday (2000 GMT Friday), heading west for the island of Marinduque, the government weather station said.
Flights to the island of Marinduque were cancelled as it approached, the civil defense office said.
Two men drowned in Sorsogon province and on the island of Catanduanes, while a 70-year-old man died of hypothermia in Catanduanes, the office said.
The storm forced the evacuation of more than 3,300 people from their homes as it passed over the Bicol peninsula in the east of the country, knocking out power to parts of the area, it said.
It caused landslides that made several roads on Catanduanes impassable.
About 300 houses were totally destroyed in four provinces with more than 1,000 suffering some damage. Initial damage estimate to crops and infrastructure stood at about 96.3 million pesos (1.7 million dollars), the office said.
The storm had weakened slightly Saturday with maximum winds slowing to 110 kilometers per hour, the weather office said.
It was expected to continue moving at 19 kilometers per hour west and was forecast to be near the Coron islands by Sunday.
The highest level of a three-step storm alert was raised over the islands of Marinduque, Mindoro, Romblon and nearby parts of the Bicol peninsula.
Second-level alerts were up over Catanduanes island, Batangas and Laguna provinces just southeast of Manila and other parts of the Bicol peninsula.
A first-level storm alert was in force over the Philippine capital, surrounding provinces and parts of the western island of Palawan and parts of the central island of Panay.