Castillo begon zijn profcarrière bij Santos Laguna. Zijn succesvolle periode bij Santos Laguna, waarin hij in 2008 onder andere kampioen van Mexico werd, kwam tot een einde toen hij in 2009 naar Club América vertrok. Daar werd hij al snel weer verhuurd aan Tigres UANL en later ook andere Mexicaanse clubs. Zijn huurperiode bij Club Tijuana bleek een succesvolle en later tekende hij dan ook een vast contract bij Tijuana. Na nog eens vijfenzestig competitiewedstrijden bij Tijuana tekende hij op 24 mei 2014 bij Atlas.[1] Hij maakte zijn debuut op 20 juli 2014 in een 0-0 gelijkspel tegen Tigres.[2]
Castillo werd in augustus 2007 opgeroepen voor het Mexicaans voetbalelftal voor vriendschappelijke interlands tegen Colombia, Panama en Brazilië. Hij maakte zijn debuut voor Mexico op 22 augustus2007 in de wedstrijd tegen Colombia. Hij verscheen daarna in nog twee andere vriendschappelijke wedstrijden voor Mexico maar wist geen vaste plek te veroveren.
Aangezien Castillo Mexico, buiten vriendschappelijke wedstrijden, nog niet in officiële wedstrijden had gerepresenteerd was hij nog steeds beschikbaar voor zijn geboorteland, de Verenigde Staten. Nadat hij openlijk aangaf interesse te hebben voor het Amerikaanse nationale elftal maakte hij op 18 november 2009 zijn debuut voor de Verenigde Staten in een wedstrijd tegen Denemarken. Op 28 juli 2013 won hij met de Verenigde Staten de Gold Cup.