Sánchez began his professional career playing for the Gulf Coast Royals in 2001 and 2002. For another two years from 2003 to 2004, he played for the Class ABurlington Bees. In a breakout 2005 season, playing for the Class A-AdvancedHigh Desert Mavericks, he batted.313 with 5 home runs in 133 games. He set numerous career highs including batting average, games played, at-bats, runs scored, hits, doubles, triple, home runs, RBI, and walks. On November 18, 2005, Sánchez's contract was purchased by the Royals, protecting him from the Rule 5 draft. At the time, Baseball America ranked Sánchez as the best infielder in the Royals' minor league system. In 2006, Sánchez played the entire minor league season for the Double-AWichita Wranglers. He batted.280 with 4 home runs in 133 games. On September 20, with Andrés Blanco injured, Sánchez was a late-season callup. He made his major league debut on September 23, against the Detroit Tigers, going 0-for-3 with a strikeout. He got his first major leaguehit on September 26, against the Minnesota Twins in a two-hit game. On October 1, the Royals' last game of the season, Sánchez recorded his first three-hit game, all singles, against the Tigers. It was just his eighth career game. Sánchez completed the 2006 major league season with a.222 batting average. Sánchez missed the entire 2007 season with a right elbow injury. In 2008, he was the Double-A Northwest Arkansas Naturals' primary shortstop, hitting.261 in 63 games. ;Toronto Blue Jays On November 3, 2008, Sánchez was claimed off waivers by the Toronto Blue Jays. He played in 126 games for the Triple-ALas Vegas 51s and hit.305. He did not play in any major league games for Toronto.
Boston Red Sox
Sánchez signed as a free agent with the Boston Red Sox on November 25, 2009. In 62 games with the Pawtucket Red Sox, he hit.274. He also played in one game, on May 20, 2010, for the Red Sox and was hitless in three at-bats.
Houston Astros
On July 1, 2010, Sánchez was traded to the Houston Astros for veteran catcher Kevin Cash. Sánchez saw regular action as a utility infielder for the Astros in 2010 and 2011, hitting.257 in 175 games. He also hit his first Major League homer on April 11, 2011 off Ryan Dempster of the Chicago Cubs. He spent all of 2012 back in the minor leagues, playing in 107 games with the Triple-A Oklahoma City RedHawks and hit.320.
Chicago White Sox
On October 26, 2012, Sánchez, represented by Burton Rocks, signed a minor league deal with the Los Angeles Angels of Anaheim that included an invitation to spring training, where he was expected to compete for the utility role vacated by Maicer Izturis. However, on December 6, 2012, Sánchez was selected by the Chicago White Sox in the Rule 5 Draft. He appeared in one game, on April 9, for the White Sox and was hitless in two at-bats. He was then placed on the disabled list following the game. On May 25, 2013, Sánchez was activated from the disabled list and outrighted to Triple-A Charlotte Knights. In 43 games with the Knights, he hit only.189 and he was released on August 3, 2013.
Late career
Sánchez finished the 2013 season with the Somerset Patriots of the Atlantic League of Professional Baseball, hitting.228 in 31 games. He then began 2014 with the Southern Maryland Blue Crabs, also of the Atlantic League, hitting.288 in 15 games. On June 13, 2014, Sánchez signed a minor league contract with the Los Angeles Dodgers and was assigned to the Double-A Chattanooga Lookouts. He played in 54 games and hit.251. After sitting out the 2015 season, Sánchez completed his playing career in 2016 with Southern Maryland, batting.280 in 79 games.
Post-playing career
As of the 2019 season, Sánchez is the coach for the Boston Red Sox' Double-A affiliate, the Portland Sea Dogs.