Castillo is een middenvelder die zijn carrière begon bij Club Deportivo Espoli. In 2003 verhuisde hij naar El Nacional waar hij drie seizoenen speelde. In 2006 werd hij opgepikt door Rode Ster Belgrado, waar hij acht goals scoorde in zijn eerste seizoen. Onder meer Juventus FC toonde interesse, maar Rode Ster wilde de middenvelder echter niet laten gaan, waardoor er geen transfer volgde. Belgrado verhuurde hem in seizoen 2008/09 niettemin aan Everton FC en in 2009/10 aan Wolverhampton Wanderers FC. Met Everton stond hij op 30 mei 2009 (als bankzitter) in de finale van de strijd om de FA Cup. Daarin verloor de ploeg van trainer-coach David Moyes met 2-1 van Chelsea door goals van Didier Drogba en Frank Lampard.