Holmes completes the long road back to win Wells Fargo Championship