Rocha behaalde zijn eerste nationale titel in 2007, toen hij de 5000 m won op het Portugese kampioenschap. Hij eindigde als tiende op de halve marathon van Portugal, als tweede Europeaan na Stefano Baldini. Hierna behaalde hij de derde plaats in de halve marathon van de Europese Club. Met een achtste plaats op de Oeiras Cross Country werd hij geselecteerd voor het Europees Cross Country Kampioenschap 2007.
, waar hij op de 24e plaats eindigde en een team zilveren medaille won naast Rui Silva.