The 2013 US Open champion was joint leader with four to play but missed two short putts to fall out of contention.
Hahn, who had missed his previous eight cuts, beat fellow American Roberto Castro in a play-off after both finished on nine-under par.
Defending champion Rory McIlroy fired a 66 to be tied fourth on seven-under.
McIlroy shared fourth with American Phil Mickelson, who also posted a final-round 66.
Overnight leader Rickie Fowler also finished on seven-under after carding an error-strewn two-over 74, including a double-bogey seven at the seventh.
It was a frustrating closing round at Quail Hollow for Rose who was well placed for his first PGA Tour win since the Zurich Classic of New Orleans in April 2015.
He missed a four-foot putt for birdie at 15 and a putt of similar length at the next, which cost him a bogey.
Hahn, who carded a 70, earned the second PGA Tour win of his career but only after Castro (71) failed to record a par at the last to claim his first title.