Latem 2008 Castillo przebywał na testach w angielskim Blackburn Rovers, ale ostatecznie został zawodnikiem Evertonu, do którego został wypożyczony na rok. W Premiership zadebiutował 14 września w wygranym 3:2 wyjazdowym meczu ze Stoke City. W angielskim zespole wystąpił w trakcie sezonu jeszcze siedem razy, po czym powrócił do Serbii. Cały sezon 2009/2010 spędził jednak na kolejnym wypożyczeniu, w beniaminku najwyższej klasy rozgrywkowej w Anglii, Wolverhampton Wanderers. Podobnie jak w Evertonie, w drużynie Wolves rozegrał osiem spotkań ligowych. Zajął z drużyną 15. pozycję w Premiership.
Latem 2010 Castillo odszedł z Crvenej Zvezdy i powrócił do ojczyzny, zostając zawodnikiem Deportivo Quito. W stolicy Ekwadoru spędził rok, po czym w lipcu 2011 został zaprezentowany jako nowy nabytek meksykańskiego klubu C.F. Pachuca. W meksykańskiej Primera División zadebiutował 23 lipca w przegranym 1:4 domowym spotkaniu z Santos Laguną.
23 czerwca 2013 roku podpisał dwuletni kontrakt z Al-Hilal na zasadzie wolnego transferu.