Gavaggio war zu Beginn seiner Sportkarriere ein alpiner Skirennläufer, größere Erfolge blieben jedoch aus. Sein letztes alpines Skirennen bestritt er im März 1997, woraufhin er zum Skicross wechselte. Bei den Winter-X-Games 1999 gewann er vor Shane McConkey und Jeremy Nobis die Goldmedaille. Diesen Erfolg konnte er in späteren Jahren nie ganz wiederholen, insgesamt wurde er sechsmal Dritter.
Sein Debüt im Freestyle-Weltcup hatte Gavaggio am 30. November 2002 in Tignes; beim ersten Skicross-Weltcuprennen der Geschichte fuhr er auf den 6. Platz. Den ersten Sieg konnte er am 18. Januar 2003 in Laax feiern. Am Ende der Saison war er Zweiter der Disziplinenwertung. Im Verlaufe der Weltcupsaison 2003/04 konnte Gavaggio drei weitere Rennen gewinnen, in der Disziplinenwertung verpasste er den Sieg wiederum nur um wenige Punkte. Nachdem er im Winter 2004/05 nicht über einen vierten Platz hinaus gekommen war, gelang ihm im Februar 2006 der fünfte (und letzte) Weltcupsieg.
In der Saison 2006/07 nahm Gavaggio nicht am Weltcup teil, trat jedoch im März 2007 zur Weltmeisterschaft in Madonna di Campiglio an und gewann dort die Bronzemedaille. 2008 gelang ihm nochmals eine Weltcup-Podestplatzierung, danach bekundete er zunehmend Mühe, sich in der Weltspitze zu halten. Gavaggio qualifizierte sich gleichwohl für die Olympischen Winterspiele 2010: In Cypress Mountain wurde er Fünfter, unmittelbar nach dem olympischen Rennen trat er zurück.