Wilson, a former student at Augusta State University, was one of 44 players that did not finish the first round Thursday after a two-hour morning frost delay.
He resumed on the 15th green Friday and immediately holed a 10-foot eagle putt, then birdied the 17th to move into the lead, which he held for the rest of the day.
Wilson was at 11-under 131 on the 6,857-yard course in the Swiss Alps.
Bradley Dredge, the defending champion who led overnight, was a stroke behind at 132 after a second 66. Brett Rumford also had a 66 and was third at 134.
Eduardo Romero, the winner here in 1994 and 2000, was tied for eighth. The 53-year-old Argentine began with three straight bogeys Friday, but recovered for a 2-under 69 to keep alive his chances of becoming the oldest European Tour winner. Des Smyth won in Madeira at the age of 48 years and 34 days.
David Howell (73) and Darren Clarke (70), both members of the 2006 European Ryder Cup, missed the halfway cut.
Lee Westwood (67), Paul Casey (68) and Robert Karlsson (69) all made the cut.
Wilson, who had a chance to win last year until a final round 75, had a tough decision with darkness falling Thursday over whether to hit the 10-foot putt or wait until morning.
He made the right decision.
'It got me going straight away,' he said. 'Then I made a good putt at the second in the second round. That settled me down. After that I picked up a couple more and plodded my way around.'
Dredge, who won by eight strokes last year, started after Wilson had finished for the day and eagled the first hole with a 25-foot putt. He added six birdies against three bogeys.
Alessandro Tadini of Italy had a hole-in-one at the 198-yard 3rd hole with a 6-iron, earning a kilogram (2.2 pounds) of gold.