Peckham was drafted 75th overall in the 2006 NHL Entry Draft by the Edmonton Oilers.
He made his NHL debut for the Oilers on March 7, 2008 against the Columbus Blue Jackets in what would be his only appearance of that NHL season.
He was called up by the Oilers from the Springfield Falcons on February 13, 2009 and played 15 NHL games that season. He scored his first point against the Nashville Predators on March 2, 2010.
His first NHL goal was scored the following season on November 11, 2010 against the Detroit Red Wings.
On July 4, 2011, Peckham was re-signed by the Oilers to a one-year contract.
On July 16, 2012, the Oilers re-signed Peckham to a one-year contract. During the NHL lockout, on November 5, 2012, Peckham signed with the San Francisco Bulls of the ECHL to keep in game shape. He played in four games for 11 penalty minutes before leaving the team, never reaching NHL physical form.
On July 19, 2013, the Chicago Blackhawks signed Peckham as a free agent to a one-year contract. He was assigned to AHL affiliate, the Rockford IceHogs for the duration of the 2013–14 season.
On October 11, 2014, Peckham signed a one-year contract with the new ECHL entrant, the Wichita Thunder. With the retirement of Andrew Martens, Peckham was selected as team captain to open the 2014–15 season. Peckham led the Thunder in 26 games for 8 points before opting for a release of his contract in oder to pursue a career abroad. On December 31, 2014, Peckham agreed to a contract with HC ’05 Banská Bystrica of the Slovak Extraliga. He featured in only 5 games over the course of a month before opting to depart for his third team in the season, with Danish club, Rødovre Mighty Bulls of the Metal Ligaen on January 27, 2015.
During the following off-season, Peckham agreed to a one-year contract to move to England, in signing with the Nottingham Panthers. Peckham later reneged his deal with the Panthers to later return to North America and signing a one-year deal with former ECHL club, the Wichita Thunder on October 8, 2015. After spending the remainder of the 2015–16 season with the Thunder, Peckham as a free agent in the following off-season opted to continue in the ECHL, signing with the Rapid City Rush on September 26, 2016. Peckham was released from the Rapid City Rush on September 30, 2016