Horschel fired a solid two-under par 70 in the third round to improve to 10-under 206 for the tournament, two clear of fellow Americans Charley Hoffman (70) and former US Open champion Jim Furyk (69) at eight under 208.
Northern Ireland's McIlroy, searching for some form before next week's Masters after an indifferent start to the season, shot a scratchy 71 to set six-under and in a tie for fourth with Americans Bob Estes (69) and Ryan Palmer (68).
The former number one started strong with two birdies in his opening three holes but bogeyed three of his next eight to fall back in the pack.
The 23-year-old then steadied with two birdies in the run home to give himself a shot at a confidence-boosting win.
"I feel like I fought back well," McIlroy said. "I started the back nine with two three putts but to birdie 12 and 14 to sort of get it back there was nice.
"I had a couple of chances coming in I didn't take advantage of. I hit a great drive down 17 and just hit a terrible wedge shot and it wasn't a very good bunker shot at the last, so it could have been a couple of shots better. But I am still in a decent position going into the last day and hopefully I can make the ground up."
Horschel, who started the year ranked 312th in the world but is currently 132nd after a runner-up finish in last week's Houston Open, carded five birdies and three bogeys to claim his first 54-hole lead on the US PGA tour.
"Today was a good round," Horschel said. "Obviously there was a lot of emotion going on starting the day but I felt like I hit the ball pretty well, made some key putts, missed a couple coming in. But with this wind blowing you just have to stay patient and just try to hit every shot solid.
"I think I did a pretty good job of that, there were a few loose ones, but all in all a good day."
The 26-year-old leads the tour in active cut streaks with 21 consecutive cuts but has yet to taste victory.
A win on Sunday would not only bring the biggest result of his career but also afford him an invitation to next week's Masters.
Horschel has played just one Major, the 2006 US Open as an amateur, but said he would try his best not to be thinking of the potential start at Augusta National.
"You can't allow them (thoughts of Augusta) in your head," Horschel said.
"I think if you allow anything about the future to get in there, then you are going to forget about the task at hand.
"So I'm just going to do a little putting, get some dinner, go back to my room and wake up tomorrow and focus on playing a solid day.
"If I can just play my game, play solidly and just keep doing what I've been doing all week I'll be just fine."
- Sports & Recreation