According to media reports, Villa paid a transfer fee of around five million pounds ($8.34 million) for the 28-year-old.
Sanchez, who played four times for Colombia at the 2014 World Cup in Brazil, had one season at Elche after joining from French side Valenciennes.
He is Villa's fifth signing of a busy transfer window that manager Paul Lambert believes will help them better a disappointing 15th-place finish last term.
"We have to improve on what we did last season. That goes without saying," Lambert told reporters. "We have a stronger squad this season, you can sense it.
"When we beat Chelsea [in March] we were sitting 12th. Then, all of a sudden, we couldn't get a win.
"We lost Libor Kozak and Christian Benteke too. That certainly hurt us. The run-in was nowhere near good enough. We have to do a lot better," added Lambert who kicks off the new league season at Stoke City on Saturday.