The 35-year-old Sanchez held off Danish rider Jakob Fuglsang to secure his 32nd career win and 97th podium place.
“I suffered a lot, especially in the last three kilometres”, Sanchez said. “Fuglsang was very strong but I gave everything I had to beat him at the end.”
The 2008 Olympic champion and best climber on the 2011 Tour de France had not won a race since the Tour of the Basque country last year.
Sanchez clocked a time of five hours, 26 minutes, 14 seconds over the mountainous 116.3 miles from Le Pont-de-Claix to Superdevoluy, with Fuglsang finishing in the same time and Australian rider Richie Porte 15 seconds back in third spot.
Froome, pictured below, has a comfortable lead in the standings, 51 seconds ahead of Sky team-mate Porte and 1:37 clear of Australian rider Michael Rogers, ninth in the stage to climb up to third spot overall.
Two-time Tour champion Alberto Contador worked to help Rogers get on the podium by setting a pace that was too much for Rohan Dennis, who was third overnight but dropped down to ninth. Dennis was unable to stay with the leading bunch on the final 2.5-mile ascent up to the ski resort of Superdevoluy.
“This is one more day towards achieving my goal,” Froome said. “I know it’s going to be another hard stage tomorrow, notably because we’ll ride above 2,000m but I feel the situation is under control. It’s going to be a tough finale tomorrow but Richie (Porte) has the legs to be there in the final climb. Hopefully we’ll finish it off.”
• At the Tour of Switzerland, Australia’s Cameron Meyer won the first stage, an five-mile individual time trial in Quinto.
The Orica-GreenEdge rider was among the early starters and made the most of the calmer conditions to clock a time of 9:39, ten seconds ahead of Niki Terpstra (Omega Pharma) with Heinrich Haussler (IAM Cycling) a further four seconds adrift.
Britain’s David Millar (Garmin-Sharp) finished almost a minute behind Meyer in 111th.