In het seizoen 1995/96 debuteerde Coco in het eerste elftal van AC Milan. Hij gold als een groot talent, maar in zijn eerste seizoenen kwam de verdediger vanwege de sterke concurrentie niet al te vaak aan spelen bij Milan. Daarom werd Coco tweemaal verhuurd: in 1997/98 aan Vicenza en in 1999/00 aan Torino. Bij deze clubs speelde Coco wel regelmatig. Bij zijn terugkeer bij AC Milan in 2000 leek Coco eindelijk te zijn doorgebroken bij de "rossoneri" met dertig competitieduels en twee doelpunten. Aan het begin van het seizoen 2000/01 verloor hij echter zijn plaats aan Kacha Kaladze en Coco ging op huurbasis naar FC Barcelona. Ook daar was hij in eerste instantie wisselspeler, maar toen aanvoerder en vaste linksback Sergi Barjuán geblesseerd raakte, greep Coco zijn kans. Hij kwam uiteindelijk tot 23 competitieduels voor de Catalaanse club. Na het Wereldkampioenschap voetbal 2002, waar Coco met Italië in de achtste finales door Zuid-Korea werd uitgeschakeld, vertrok de verdediger naar Internazionale. AC Milan ruilde hem voor Clarence Seedorf. Seedorf ging van Inter naar AC Milan, Coco ging van AC Milan naar Inter. Na een goed eerste seizoen raakte hij door diverse blessures langzaam uit beeld bij de Milanese club. Nadat transfers naar Ajax en Newcastle United niet doorgingen, vertrok Coco naar Livorno. Nadat zijn eenjarig huurcontract met Livorno afgelopen was, is hij weer teruggegaan naar Inter Milan. Nu speelt Coco tot juni op huurbasis voor Torino FC.