Captain Jake Friend was fantastic in defence for the Roosters making 65 tackles, Aidan Guerra ran for over 200m and Latrell Mitchell scored two tries.
Dallin Watene-Zelezniak scored first in the seventh minute after an early period of Penrith dominance. Soward had stretched that lead to 8-0 after 10 minutes on the back of a conversion and a penalty goal.
Momentum then swung the Roosters' way and Mitchell took full advantage when he barged through Moylan, Trent Merrin and Josh Mansour to score in the 19th minute.
Former Roosters prop Suaia Matagi then produced a fantastic short ball against his old club to put Te Maire Martin over on the half hour and the Panthers were out to an eight point lead again.
Moylan was fairly denied a try for obstruction shortly before halftime before Blake Ferguson swept aside Soward to score the Roosters' second try after a quick tap from Jake Friend following a penalty for a scoreline of 14-10 at the break.
Waqa Blake extended the visitors' lead five minutes after halftime when he finished off a 50m attacking thrust with a clever angled run to score.The Roosters replied through Mitchell six minutes later with a contender for try of they year as the Steeden was tossed through eight sets of hands.
Roosters back-rower Isaac Liu was put on report for a 10th minute 'crusher' tackle on Lelani Latu.Panthers coach Anthony Griffin was lavish in his praise of Soward.
"He played the conditions really well for most of the game and to everyone's credit we backed up his kicking," Griffin said.
"It was nice to close that out in the end."
Roosters coach Trent Robinson said Soward's late game kicking cruelled the Tricolours chances of a win.
"His kicking was the difference," he said.
"I really felt we would create something if we got the opportunity but we didn't."
Robinson also blamed poor handling and poor last tackle options late in the game for the loss.
Griffin said he was becoming accustomed to his side's close finishes.
"We are hanging in there, that's the most important thing," he said.
Griffin said injured duo James Segeyaro and Dean Whare would spend another week on the sidelines.