Kansas side moved ahead on 18 minutes as Dwyer stroked home from 12 yards after Benny Feilhaber was fouled in the area.
History repeated itself 15 minutes later as Dwyer secured his double from the penalty spot to seal his 18th goal of the MLS season.
The Canadians threw themselves a lifeline ahead of the second half when Gilberto halved the deficit in timely fashion.
Saad by name, the Lebanese international was happy to re-establish his side's two-goal cushion on 64 minutes by thumping beyond the reach of goalkeeper Joe Bendik.
He soon turned provider, setting up second-half substitute Sapong to make an immediate impact as the big striker added a fourth on 77 minutes to cap a strong display from the Eastern Conference leaders.