Snyder attended Spring Woods High School and the University of Houston. In 2001, Snyder started every game and hit .316; he also led the team in home runs, hits, doubles, RBIs, total bases, slugging percentage, on-base percentage, and hit by pitches. He was named All-Conference USA second team and also played for Team USA hitting 1 home run and having 9 RBIs. In 2002, he hit .348 with 15 home runs and 70 RBIs and was named to the All-Tournament Team in the Conference USA Tournament.
Snyder had been drafted by the Seattle Mariners in the 1999 Major League Baseball draft, but chose to attend college. He was drafted by the Arizona Diamondbacks in the 2nd round of the 2002 Major League Baseball draft.
Snyder began his professional career with the High-A Lancaster JetHawks and hit .258 with 9 home runs and 44 RBIs. He began 2003 with Lancaster again and was promoted to Double-A El Paso after hitting .314 with 10 home runs and 53 RBIs. He began 2004 with El Paso and hit .301 with 15 home runs and 57 RBIs and was promoted to the major league team.
Snyder was called up to the majors and made his debut on August 21, 2004. In his first game, he went 2–3 with a double. In only 96 at-bats in the majors in 2004, he hit 5 home runs. In 2005, he was the starting catcher, but struggled offensively as he hit only .202. He was strong defensively though, with a fielding percentage of .997. Before the 2006 season, the D-Backs traded for All-Star catcher Johnny Estrada from the Atlanta Braves, making Snyder the backup. In 61 games, Snyder hit .277 with a .995 fielding percentage and threw out 45% of would-be base stealers.
After the 2006 season, Estrada was traded to Milwaukee and Snyder shared time behind the plate with rookie Miguel Montero. In 2007, he hit .252 with a .999 fielding percentage and threw out 36% of would-be base stealers. In 2008, he set career highs in home runs (16) and RBIs (64) and also had a perfect fielding percentage of 1.000.
On December 30, 2008, Snyder and the D-Backs agreed on a three-year contract extension with an option for a fourth year.
Before the 2010 season Snyder was almost traded to the Blue Jays for former Diamondback Lyle Overbay but the Jays questioned Snyder's back problems and nixed the trade.
On July 31, it was announced that Snyder and minor leaguer Pedro Ciriaco were traded to the Pittsburgh Pirates for D. J. Carrasco, Ryan Church and Bobby Crosby. He began the 2011 season with the Pirates' Single A affiliate, the Bradenton Marauders, on a rehab assignment for back pains he experienced during spring training. In two games with Bradenton, Snyder had gone 5-for-6 with seven RBI, two doubles and a home run.
Snyder signed with the Houston Astros for 2012. After 1 season with the team, the Astros declined his 2013 option on October 31, making him a free agent.
Snyder signed a minor league contract with the Washington Nationals on February 5, 2013. The Nationals released him on March 18.
On March 18, 2013, Snyder signed a minor league contract with the Los Angeles Angels of Anaheim with an invitation to spring training.
Snyder was traded to the Baltimore Orioles on April 28, 2013 for minor league pitcher Rob Delaney, He was designated for assignment on June 4, and assigned to the Triple-A Norfolk Tides on June 8.
On December 21, 2013, Snyder signed a minor league deal with the Washington Nationals that included an invitation to spring training. He was released on March 24, 2014.
Snyder signed a minor league deal with the Texas Rangers on March 25, 2014.
Snyder retired on April 19, 2014.