Rodriguez, who has had a rocky relationship with Zinedine Zidane, has been looking for a way out at Los Blancos in a bid to secure more game time.
He had been linked with both Manchester United and Chelsea in the Premier League, but instead opted to sign for Bundesliga champions Bayern Munich.
The German giants will pay the 26-year-old a reported €5million per season and have the option of signing him permanently for €35million in 2019.
Many have praised the move, seeing it as a new opportunity for the Colombian who burst onto the scene during the 2014 World Cup.
But Real hero Sanchez, who represented the club from 1985 to 1992, believes Rodriguez “lacked character” by doing so.
“The character of a player must be solidified and that is exactly what James was missing,” the former Mexico international told Marca.
“James should have proved to Zidane that you can count on him in every game. In order to play for Real Madrid, you always have to give a little more.
“The transfer to Munich did not surprise me.”
Rodriguez was pictured wearing a Bayern kit for the first time on Wednesday, and revealed he cannot wait to start his “new life” in Germany.