Esordisce nel campionato mondiale Supersport nel 2004, correndo i Gran Premi di Misano Adriatico, Monza e Magny-Cours in qualità di wildcard a bordo di una Yamaha YZF-R6, ottenendo 15 punti. Nello stesso anno corre un altro Gran Premio in qualità di wildcard nella Superstock 1000 FIM Cup a bordo di una Yamaha YZF-R1, ottenendo 11 punti. In questa stagione inoltre, è terzo nel campionato italiano Supersport con due vittorie all'attivo.
Nel 2005 è vice-campione Italiano Stock 1000; nella stessa stagione conclude in 5ª posizione con 119 punti la Superstock 1000 FIM Cup e partecipa al Gran Premio di Silverstone nel mondiale Superbike con il team Italia Lorenzini by Leoni al posto di Gianluca Vizziello (in queste tre categorie ha corso a bordo di una Yamaha YZF-R1). Nel 2006 diventa pilota titolare nel mondiale Supersport, ingaggiato dal team Yamaha Italia, che gli affida una Yamaha YZF-R6; il suo compagno di squadra è Gianluca Vizziello. Ottiene una vittoria a Misano Adriatico[1] e termina la stagione al 6º posto con 96 punti. Contestualmente al mondiale, è pilota titolare nel CIV Supersport dove conquista il primo titolo con un punto di margine su Vizziello.
Nel 2007 resta nello stesso team, ed ottiene un terzo posto a Brands Hatch e termina la stagione al 6º posto con 90 punti, nella stessa stagione è campione italiano Supersport. Nel 2008 ottiene come miglior risultato un sesto posto a Magny-Cours e termina la stagione al 12º posto con 58 punti. Contestualmente alle sue apparizioni in competizioni mondiali, nella stessa stagione vince il terzo titolo italiano consecutivo in Supersport. Nel 2009 passa a guidare la Honda CBR600RR del team Intermoto Czech, con compagno di squadra Patrik Vostárek. Ottiene un terzo posto a Misano Adriatico e termina la stagione all'11º posto con 70 punti. Nel 2010 resta nello stesso team, con compagno di squadra Gino Rea. Ottiene come miglior risultato un quarto posto a Magny-Cours e termina la stagione all'8º posto con 84 punti. Nel 2011 passa alla guida della Kawasaki ZX-6R del team Lorenzini by Leoni, con compagno di squadra Vittorio Iannuzzo, terminando al 10º posto con 71 punti in classifica generale; mentre in ambito nazionale disputa delle gare sia nella categoria Supersport che nella Moto2.
Nel 2012 inizia la stagione nel team Bike Service a bordo di una Yamaha YZF R6, ma dopo il GP di Donington viene sostituito da Andrea Antonelli. Corre a Misano Adriatico in sostituzione dell'infortunato Vladimir Leonov nel team Yakhnich Motorsport. Nello stesso anno corre nella classe Moto2 del motomondiale il Gran Premio d'Italia sulla Bimota HB4 del team Desguaces La Torre SAG, al posto di Damian Cudlin. Torna a correre nel mondiale Supersport a Brno, chiamato a sostituire Roberto Anastasia, sulla Honda CBR600RR del team Kuja Racing, mentre a partire dal Nürburgring corre per il team Pata by Martini alla guida di una Yamaha. Parallelamente agli impegni mondiali, disputa quattro gare nel CIV Supersport vincendone due e classificandosi al quinto posto. Nel 2014 torna nel campionato italiano nella categoria Supersport, alla guida della MV Agusta F3 del team Laguna Moto Racing, ottenendo nel corso della stagione cinque vittorie ed un terzo posto nelle dieci gare in calendario, conclude il campionato al 2º posto con 167 punti, a 2 punti dal vincitore (Federico Caricasulo con 169 punti).
Nel 2015 continua nel campionato italiano Supersport con il team Laguna Moto Racing e con la F3 675 come motocicletta. Il responso di fine stagione lo vede ottenere 4 vittorie, 2 secondi e 1 terzo posto, per un totale di 168 punti, che gli valgono la vittoria finale, ottenuta con due gare di anticipo rispetto alla conclusione della stagione. Con questa vittoria Roccoli raggiunge il quarto titolo nel CIV, tutti ottenuti nella categoria Supersport. Nel 2016 conquista il quinto titolo italiano Supersport, il secondo consecutivo con MV Agusta. In questa stagione inoltre, torna a disputare una gara mondiale partecipando, in sella alla MV Agusta F3 675 del team ufficiale, alla gara finale in Qatar del mondiale Supersport. Chiude la gara al nono posto e ventisettesimo in classifica mondiale.
Nel 2017 torna nel mondiale Superbike per disputare, in qualità di pilota sostitutivo, il Gran Premio di Germania al Lausitzring in sella ad una Yamaha YZF-R1 del team Guandalini Racing.[2] Non ottiene punti validi per la classifica piloti. In questa stessa stagione disputa gare sia nella classe Superbike che in Supersport, sempre con motociclette MV Agusta, nel CIV conquistando punti in entrambe le classifiche e vincendo una gara. Nel 2018 prende parte al Gran Premio d'Italia a Imola nel mondiale Supersport, in sella ad una Yamaha YZF-R6 del team G.A.S. Racing.[3] Nello stesso anno e con la stessa squadra, vince il suo sesto titolo (il quarto con Yamaha) nella categoria Supersport del campionato italiano velocità. Nel 2019 disputa i Gran Premi in territorio italianoː Imola e Misano nel mondiale Supersport. Gareggia come wild card con una Yamaha YZF-R6 del team Rosso Corsa.[4] Ottiene sei punti e chiude ventiseiesimo in graduatoria piloti, mentre nel CIV chiude al secondo posto. Nel 2020, sempre con Yamaha, è settimo nel campionato italiano Supersport.
Nel 2021 inizia il quarto anno con Yamaha, ottiene una vittoria e altri tre piazzamenti a podio classificandosi quarto nel campionato italiano Supersport. Nella stessa stagione prende parte, in qualità di wild card,[5] al Gran Premio di Misano nel mondiale Supersport conquistando quattro punti. Nel 2022 è pilota titolare nel CIV Supersport (categoria NG). In occasione del Gran Premio d'Italia, è chiamato a sostituire l'infortunato Jordi Torres nel team Pons Racing in MotoE conquistando i suoi primi punti nel Motomondiale.[6][7] Nel CIV, dopo essere rimasto al comando della classifica per buona parte di stagione, chiude al secondo posto a soli dieci punti dal campione Nicholas Spinelli.[8] Nel 2023 inizia il sesto anno consecitivo con Yamaha nel campionato italiano. Porta a termine tutte le gare previste e chiude al terzo posto in classifica.[9] Nel 2024, alle porte dei quarant'anni, disputa la sua prima stagione completa nel motomondiale: viene infatti ingaggiato dal SIC58 Squadra Corse per il campionato del mondo di MotoE, il compagno di squadra è Kevin Manfredi.[10] Nel corso della stagione conquista poco meno di novanta punti e chiude tredicesimo tra i piloti.[11]
A fine novembre 2024, in concomitanza col suo quarantesimo compleanno, annuncia il proprio ritiro dalle competizioni per dedicarsi alla gestione del team Roc'n Dea: squadra da lui formata insieme ad Alex De Angelis.[12]