Following a low-key opening, McCormack gave the away side the lead in the 17th minute.
Johnnie Jackson's free kick was headed away but it fell only as far as Cameron Stewart, who thumped a first-time volley into the back of the net.
Church almost turned the game on its head in first-half stoppage time, but Tom Lees cleared the ball off the line.
Harriott almost made amends 10 minutes later, but Kenny reacted superbly to tip the ball away after the winger's effort seemed destined for goal via the aid of a deflection.
Charlton were level with 20 minutes remaining as captain Jackson converted Church's cross, but the lead lasted just three minutes.
McCormack was a constant thorn in the Charlton defence and the striker wrapped up his hat-trick with a powerful finish from a tight angle.
The 27-year-old still had time to add a fourth, as he curled a free kick beyond Hamer from the edge of the box.