J.B. Holmes fired a six-under-par 66 to ensure he will take a one-stroke lead into the final round of the Wells Fargo Championship at Quail Hollow.