Sanderson began his NLL career with the Rochester Knighthawks. After two seasons in Rochester, Sanderson was left unprotected in the expansion draft, and was chosen by his father, Albany Attack GM Terry Sanderson. Josh went on to be the leading scorer on the Attack for four years, including setting a new NLL record for assists in a season, with 68 in 2002. After the 2003 NLL season, the Attack moved to San Jose, California, becoming the San Jose Stealth. After one year in San Jose, now-Toronto Rock GM Terry Sanderson once again acquired his son, as Josh was traded to the Rock in a 6-player blockbuster deal. In 2005, Sanderson broke his own single-season assists record with 71, and helped the Rock win their fifth NLL Championship. During the 2008 season, Sanderson was traded to the Calgary Roughnecks for Lewis Ratcliff. Calgary became the third team where Sanderson played for his father, who was an assistant coach for the Roughnecks until the end of the 2009 NLL season. In 2009, Sanderson broke his own record once again, as he and Dan Dawson both finished the season with 74 assists. Sanderson was named to the NLL All-Pro teams in 2000, 2002, 2003, 2004, 2005, and 2006. During the 2009 NLL season, he was named a starter to the All-Star Game. On August 13, 2010, Sanderson was traded to the Boston Blazers along with a 1st round draft pick in the 2010 entry draft in exchange for Daryl Veltman, Jon Harnett and transition player Kyle Ross as well as the Blazers' first round selection in the 2010 Entry Draft. He was selected with the 4th pick in the Boston Blazers Dispersal Draft by the Minnesota Swarm. He was then traded from the Minnesota Swarm to the Toronto Rock, along with Nick Inch in exchange for 9th pick in the Boston Blazers dispersal draft, 12th pick in the 2011 NLL Entry Draft and a conditional first round pick in the 2012 NLL entry draft. After contemplating retirement before the 2016 season, Sanderson decided to return for one more season, picking up 42 points in 11 games. Sanderson announced his retirement shortly after the conclusion of the 2016 season. He was subsequently named assistant General Manager of the Rock.