Roche började tävla i Grand Prix Roadracing 1978 i klasserna 250GP och 350GP. Året därpå gick han upp i 500GP-klassen där han stannade till 1989. Han blev trea i 500GP Roadracing-VM 1984. Han vann aldrig ett Grand Prix, men var en stabil förare som var med i tio år. Säsongen 1989 körde Roche istället hela säsongen i Superbike och blev VM-trea efter fem heatsegrar. Roche vann titeln säsongen 1990 efter åtta heatsegrar. Både Superbike-VM 1991 och Superbike-VM 1992 kom han tvåa i VM efter fyra respektive sex racesegrar.
Han var även världsmästare i Endurance (långlopp) 1981.