Kansas City hit right back with a decent opportunity as Benny Feilhaber lifted the ball into the path of Dwyer. Union keeper Zac MacMath came for the ball and missed it, but Dwyer could not take advantage as he fired wide from a tight angle.
Cristian Maidana should have put his side ahead when Wenger put him through on goal, but the forward's low shot was well saved by Kronberg, who came out to narrow the angle.
The Union took the lead on the stroke of half time through a counter-attack which culminated in Maidana finding Brian Brown in the middle, and he dispatched his shot past Krongberg into the bottom corner.
In the second half, Sporting were handed the chance to get back into the game when Soony Saad was brought down in the area by MacMath and a penalty was awarded.
Dwyer took the spot kick and placed his shot into the bottom corner, sending the keeper the wrong way.
However, Philadelphia retook the lead in the 71st minute when Maidana collected the ball down the right and picked out substitute Pedro Ribeiro, who poked the ball past Kronberg from the centre of the area.
Sporting should have earned a share of the spoils in the dying minutes when Jacob Peterson broke free down the right and found Nagamura with a neat cutback, but the midfielder somehow missed the target from six yards as his side fell to defeat.