Sanchez allowed three runs and five hits in 6 1-3 innings. He struck out five and walked one.
Danks appeared to be in trouble in the second, when the Tigers had the bases loaded with nobody out after two straight walks. Alex Avila brought a run home with a groundout, but Danks got out of the jam thanks to two consecutive popups.
"I dodged a big bullet there," Danks said. "Obviously, two walks in that inning are not good, but to get out of that one with just one run, where we were at, I guess you've got to take that."
The Chicago left-hander went on to post his fourth consecutive quality start to begin the season.
Sanchez looked even better until the game slowed to a crawl in the seventh. After a leadoff double by Conor Gillaspie, Abreu lifted a drive down the line in right that a sliding Torii Hunter was unable to come up with. The ball bounced into the seats for a double, and although the Tigers challenged whether it was fair or foul, the call was upheld and the game was tied.
One out later, Viciedo put the White Sox ahead with a double to deep center, and Alexei Ramirez followed with a single to left. Viciedo initially held up at third, but left fielder Rajai Davis' throw missed everybody, and the ball ended up near the Chicago dugout.
Sanchez retrieved it and threw back to the plate, where a sliding Viciedo was at first called out. The White Sox had lost their challenge earlier in the game, but umpires chose to review the play, and the call was changed, putting Chicago up 3-1. Davis was charged with an error.
"I felt great, and then everything happened in a hurry," Sanchez said. "I made a couple mistakes and they have a very aggressive team, so they were swinging at first pitches and hurt me. I've made a lot of adjustments, and I was throwing my pitches well, and I wasn't tired. Just too many mistakes."