W 2006 roku Rochat wrócił do Szwajcarii i podpisał kontrakt z FC Zürich. Swój debiut w nowym klubie zaliczył 10 września 2006 w meczu z FC Basel (0:1). W 2007 roku po raz pierwszy w karierze wywalczył mistrzostwo Szwajcarii. Z kolei w 2009 roku po raz drugi został z Zurychem mistrzem kraju.

W 2011 roku Rochat przeszedł do Vancouver Whitecaps. W 2013 roku grał w DC United, a następnie trafił do BSC Young Boys. W 2017 przeszedł do Lausanne Sports. 21 czerwca 2018 roku ogłosił zakończenie kariery piłkarskiej.

Sezon Klub Kraj Rozgrywki Mecze Bramki 1999/00 Yverdon-Sport FC

Super League 3 0 2000/01 Yverdon-Sport FC

Super League 28 2 2001/02 Yverdon-Sport FC

Challenge League 21 5 2001/02 BSC Young Boys

Super League 13 1 2002/03 BSC Young Boys

Super League 34 2 2003/04 BSC Young Boys

Super League 35 0 2004/05 BSC Young Boys

Super League 33 2 2005/06 Stade Rennais

Ligue 1 9 0 2005/06 Stade Rennais B

CFA 16 0 2006/07 FC Zürich

Super League 17 0 2007/08 FC Zürich

Super League 28 1 2008/09 FC Zürich

Super League 29 4 2009/10 FC Zürich

Super League 32 2 2010/11 FC Zürich

Super League 11 0 2011 Vancouver Whitecaps

MLS 28 3 2012 Vancouver Whitecaps

MLS 27 2 2013 Vancouver Whitecaps

MLS 12 0 2013 D.C.