Eddie Lewis scored a superb last-minute free-kick as Preston equalised three times to earn a point.
Tyrone Mears headed into his own net to put Sunderland ahead but David Healy fired in off the post to equalise.
Sunderland's Jeff Whitley was sent off for a lunge at Richard Cresswell before Sean Thornton restored their lead with a curling free-kick.
Mears then scored at the right end with a volley but Marcus Stewart converted a penalty before Lewis saved Preston.
Playing their first home league game for two months, Sunderland had two efforts disallowed before Mears inadvertently opened the scoring in the 25th minute.
Despite showing little attacking threat, North End equalised just before the break when Healy scored his third goal in as many games.
Ricardo Fuller chested Simon Lynch's cross to Healy, who fired home off the inside of a post.
Sunderland's frustrations boiled over in the second period when Whitley went in with two feet on Richard Cresswell, unsurprisingly earning himself a straight red.
And his dismissal prompted manager Mick McCarthy to send on Thornton, who soon demonstrated his ability by scoring direct from a free-kick in the 70th minute.
Mears took Graham Alexander's cross on his chest to volley past Mart Poom, before
Stewart restored Sunderland's lead in the 84th minute.
Rob Edwards was penalised for a foul on Stewart, who beat Lonergan with the resulting spot-kick.
There was still time, however, for Lewis to equalise with a superb 25-yard free-kick.
Sunderland: Poom, McCartney, Breen, Babb, Wright,
Oster (Thornton 62), Thirlwell, Whitley, McAteer,
Kyle (Stewart 71), Tommy Smith (Byfield 71).
Subs not used: Ingham, Williams.
Sent Off: Whitley (60).
Booked: Babb, Thornton.
Preston: Lonergan, Edwards, Michael Jackson, Mears, Lewis,
McCormack (Smith 79), Healy, Alexander, Lynch, Fuller,
Subs not used: Lucas, Briscoe, Armstrong, Mark Jackson.
Referee: P Prosser (Gloucestershire).