Powell led Apex High School in Apex, North Carolina to the 2000 4-A state championship as a junior. Because he was already 18 years old, he was eligible to enter the 2000 Major League Baseball Draft and did so. However, he went undrafted because his agent, Scott Boras, did not inform teams he was available. This made Powell a free agent, but he chose to attend college after failing to receive an acceptable offer from an MLB club. This loophole in the drafting system was later closed due to this incident and one a year later involving pitcher Jeremy Bonderman.
Powell attended the University of South Carolina. In 2002, his first season playing for them, he had a .292 batting average with 12 home runs and was part of the team that went to the 2002 College World Series. They went all the way to the finals and lost to the Texas Longhorns. Powell continued to play for the University of South Carolina and was third on the team in batting average in 2003 (.339) and 2004 (.328). Both those years, he helped his team to the playoffs, but did not get as far as the first time.
In 2010, Powell was named to the NCAA World Series Legends Team. He and Ryan Garko were named as catchers.
After three seasons with the Gamecocks, Powell was drafted by the Chicago Cubs in the 2003 Major League Baseball Draft as the 733rd overall pick in the 25th round. He did not sign with the Cubs and opted instead to play another season with the University of South Carolina. After his final season there, he entered the draft again in 2004 and the switch hitting catcher was taken in the 1st round by the Oakland Athletics as the 24th overall pick and was the Athletics' first overall pick.
Upon signing with the Athletics on July 22, 2004, he was assigned to play for the Single-A Vancouver Canadians. He played in 38 games and hit just .237. Teammate Kurt Suzuki, also taken in the 2004 draft, got more playing time as he played in 46 games and hit .297. Both were the organizations catchers of the future and only time would tell who would reach the majors first. Powell's chances were ruined when in 2005, he was out for the entire season when he underwent surgery to repair a left torn ACL. After a lost year, he played again in 2006, playing for the Single-A Stockton Ports and the Double-A Midland RockHounds.
Powell began the 2007 season playing for the Rockhounds. In 60 games with them, he hit .292 with 11 home runs. He was promoted to play with the Triple-A Sacramento River Cats on June 28. He played just 4 games for the River Cats before reaggravating the same knee that forced him to sit the 2005 season. Powell missed the rest of the 2007 season and probably will miss most of the 2008 season as well. He was considered as a possibility to split the catching duties for the major league club in 2008 but with his injury, it does not seem possible.
On November 20, 2007, the Athletics purchased his contract, protecting him from the Rule 5 draft.
Powell made his major league debut for the Athletics on April 11, 2009. In his first major league at-bat, Powell doubled in the second inning off the Seattle Mariners' Félix Hernández, driving in two runs. He spent the entire season in the big leagues, yet only appeared in 46 games (36 at catcher, 6 at first base and 3 at DH), as Kurt Suzuki for the second straight year led the majors in games caught. He finished the season with .229 batting average with 7 home runs and 30 RBIs.
On May 9, 2010, Powell caught Dallas Braden's perfect game.
Powell was designated for assignment on December 23, 2011 and outrighted to the Sacramento River Cats on January 5, 2012. On March 9, 2012, Powell was released by the Athletics.
On March 14, 2012, Powell signed a minor league deal with the Houston Astros with an invite to spring training. On April 3, 2012, Houston assigned him to the Oklahoma City RedHawks.
On January 18, 2013, Powell signed a minor league contract with the New York Mets with an invite to spring training.
Reassigned to AAA Las Vegas 51s on March 30, 2013. On June 8, 2013 the Las Vegas 51s released Powell from his contract.
On May 9, 2014, Powell was hired by North Greenville University, a Division II school located in Tigerville, South Carolina, to be the head coach of the baseball team.
On January 25, 2013, Powell and his wife Allyson lost their infant daughter Izzy, who died from Hemophagocytic lymphohistiocytosis. Powell continues to raise awareness for the need for organ donation, due to his own struggles with autoimmune hepatitis. The Powells have two other children, a son and another daughter.