Television footage showed that winds ripped the iron roof off an elementary school in central Changhua county.
Morakot, which means "emerald" in Thai, had dumped a total of 1,255mm of rain on southern Pingtung county early on Saturday and caused flooding in 100 locations, the agency said.
Taiwan's financial markets, offices and summer schools were shut and most outdoor festivities postponed on Friday, while almost 400 domestic and international flights were cancelled, authorities said.
According to Taiwan's weather bureau, the typhoon was 50km northeast of Hualien at 05.30am on Saturday (2130GMT Friday), moving west-northwest at 10kph and packing gusts of 126kph.
The bureau said the typhoon was losing strength and was expected to hit China later on Saturday, the bureau said.
Taiwan is typically hit by around a dozen typhoons in the summer, which help to replenish its water supply.
Authorities said Morakot had already brought 270m tons of water to reservoirs island-wide to help avert an imminent drought.
In the Philippines, where Typhoon Morakot had earlier struck land, 12 people were killed north of Manila, the capital, after the typhoon caused major flooding and landslides on Thursday.
Two French tourists and a Belgian, along with two of their guides, were killed after their hiking group were caught in heavy rain caused by the storm.
A spokesman for the French foreign ministry in Paris said: "A group of French nationals on an excursion in Mount Pinatubo province were taken by surprise by rising water levels while crossing a river by car."
|Zambales' governor has appealed for
more assistance [EPA]
Six French tourists and three South Koreans who were also on the hike were rescued by an air force helicopter.
In the northern resort city of Baguio, three children were killed after the rain triggered a landslide that buried their shanty town, a local police official said.
In Zambales province, near Pinatubo, the heavy rain caused a dike to burst, flooding 10 villages and leaving a husband and wife dead, said Amor Deloso, the province's governor.
The floods also washed out a major bridge and forced some 2,100 people to flee their homes for evacuation centres.
Deloso appealed for more assistance, saying some residents were isolated by floods and were forced to climb up trees to avoid the rising waters.
Two other locals died near Pinatubo in separate incidents.