Wilfried Zaha gave Palace the perfect start with a goal after two minutes at a drizzly Selhurst Park but the visitors hit back impressively to claim a fourth straight league victory.
Czech Soucek headed the equaliser after nine minutes and put his side in front just past 25 minutes in a dominant first half from the Hammers, for whom Michail Antonio twice struck the post.
Palace have now won once in their last seven league games and remain in 13th spot on 23 points.
While the scoreline looked close it was a commanding display by West Ham who would have won by more with sharper finishing.
"Really pleased with the performance and the comeback. Our finishing boots weren't on though," Moyes, whose side are the first in the club's history to win their opening six games of a calendar year in all competitions, told reporters.
"I want to grow the club steadily, we are doing brilliantly but we need to take it steadily."
It had looked bright for Palace when an intricate passing move ended with Zaha combining superbly with Christian Benteke before fizzing a low shot past goalkeeper Lukasz Fabianski.
Rather than build on that, though, Palace fell apart.
Within seven minutes West Ham were level when Pablo Fornals worked his way into the area and found Antonio whose clever flicked cross was headed home by Soucek.
From the restart Palace gave the ball away and Antonio hit the woodwork but West Ham went ahead when Aaron Creswell's free kick was missed by Antonio but Soucek was lurking to volley in at the far post.
Antonio then wasted a golden opportunity when he diverted Creswell's shot against the post when it looked easier to score.
Zaha had a chance for Palace immediately after the break but Fabianski saved well and when Dawson headed home in the 65th minute West Ham were in complete control.
"I thought we lost to the better team, our first half performance was nowhere near as good as we expected," Palace manager Roy Hodgson said.