Eren Derdiyok struck in the 15th minute for his third international goal in 33 matches, and Liechstenstein defender Martin Stocklasa scored an own goal in the 34th.
Liechtenstein fought back in the 51st when Marco Ritzberger finished a pass from Mario Frick, who made his 100th appearance for the principality.
Frick, Liechstenstein's 16-goal record scorer, wore No. 100 on his shirt and was captain at the Rheinpark Stadium.
Swiss substitute Moreno Costanzo's shot hit the post in the 85th.
Switzerland coach Ottmar Hitzfeld gave debuts to defenders Gaetano Berardi, Timm Klose and Beg Ferati as second-half substitutes.
Liechtenstein: Peter Jehle, Yves Oehri, Michael Stocklasa, Martin Stocklasa, Martin Rechsteiner, Franz Burgmeier, Michele Polverino (Daniel Kaufmann, 90), Sandro Wieser (Nicolas Hasler, 46), Marco Ritzberger, Mario Frick, Thomas Beck (Martin Buechel, 74).
Switzerland: Diego Benaglio (Johnny Leoni, 46), Stephan Lichtsteiner (Gaetano Berardi, 83), Philippe Senderos (Timm Klose, 57), Johan Djourou (Beg Ferati, 63), Reto Ziegler, Blerim Dzemaili, Gokhan Inler, Xherdan Shaqiri, Admir Mehmedi, Innocent Emeghara (Moreno Costanzo, 63), Eren Derdiyok (Mario Gavranovic, 63).