 He left the club for a 10-year spell in the Mexican premier league, and played for teams such as Puebla (three stints), Monarcas Morelia (twice), Atlas, Pachuca and Tecos UAG.In summer 2006, Soto joined Major League Soccer outfit Real Salt Lake and after several months in Salt Lake, Soto went back to his country Costa Rica, where he returned at Herediano as captain of this team.He announced his retirement in November 2008 and he played his final game was played on January 17, 2009 against Brujas where he scored a goal in the 19th minute that made Herediano win the match 1-0.