Rooney on target in England win
Substitute Adam Johnson added a second in the 69th minute, Xherdan Shaqiri pulled one back for the Swiss who had been reduced to 10 men but substitute Darren Bent scored a third late in the game.
Rooney, the subject of Sunday tabloid newspaper allegations of infidelity with a prostitute and an intense focus from the British media leading up to the match, last scored for England in the 5-1 win over Croatia at Wembley last year.
The win left England with maximum points from their opening two Group G games and should help lift pressure off manager Fabio Capello after their disappointing second round World Cup exit to Germany.
It leaves them in pole position in Group G with wins already against, on paper, their biggest group rivals Switzerland and Bulgaria.
"Rooney played very well, in a position that he played against Bulgaria, I'm happy. He was OK," said Capello.
"When he is focused on the pitch and not on other things... he did this today," added the Italian. "Afterwards, he was really happy, Rooney and the other players."
England made a promising start and took the lead after only nine minutes. Glen Johnson made an overlapping run to the byline and produced a low cross which was missed by Jermain Defoe and Theo Walcott but found Rooney, who slotted home from close range.
Walcott was injured in the move and replaced by Adam Johnson who went on to enjoy another superb performance for his country.
The visitors took control and should have been several goals up by half-time with Jermain Defoe, who scored a hat-trick in Friday's 4-0 win over Bulgaria, missing several chances.
Defoe failed to control the ball after Steven Gerard found him unmarked in the area, then misfired again when Adam Johnson reached him with a low cross from the right after neat work to beat his marker.
He also failed to make contact when James Milner sent a dangerous ball across the face of the box from the left. When Defoe finally hit a shot on target through a crowd of players, Diego Benaglio foiled him with a superb save.
Switzerland, with only four goals in their previous 10 games, managed only a couple of half chances before halftime and did not test England goalkeeper Joe Hart.
The Swiss looked more dangerous in the second half until Stefan Lichtsteiner, already booked for dissent, was dismissed for a reckless challenge on Milner in the 65th minute.
Four minutes later, Gerrard split open the Swiss defence with a superb pass and Adam Johnson rounded Benaglio for the second.
Shaqiri reduced the arrears in the 71st minute with a powerful drive from nearly 30 metres to put Switzerland back in the hunt. But they always looked exposed and substitute Darren Bent made the game safe for England in the 89th minute.
Switzerland: Benaglio, Lichtsteiner, Grichting, Von Bergen, Ziegler, Margairaz (Shaqiri 46), Inler, Schwegler (Costanzo 83), Degen (Streller 64), Derdiyok, Frei.
Subs: Wolfli, Affolter, Padalino, Fernandes.
England: Hart, G. Johnson, Jagielka, Lescott, A. Cole, Walcott (A. Johnson 12), Gerrard, Barry, Milner, Defoe (Bent 70), Rooney (Wright-Phillips 79).
Subs: Foster, Gibbs, Cahill, Carrick.