Ungedraftet wechselte der Angreifer nach seinem Universitätsabschluss im März 2012 ins Profilager. Zunächst schloss er sich auf Basis eines Probevertrags für Amateure (Amateur Tryout Offer) für einen Monat den Providence Bruins aus der American Hockey League (AHL) an, für die er drei Spiele absolvierte. Anschließend lief er für den Ligakonkurrenten Worcester Sharks in ebenso vielen Partien auf. Mit Beginn der Saison 2012/13 unterzeichnete Farnham einen Vertrag bei den Wheeling Nailers aus der ECHL. Dort konnte er sich mit vier Scorerpunkten in neun Einsätzen nachhaltig empfehlen, sodass er Anfang November 2012 an die Wilkes-Barre/Scranton Penguins aus der AHL ausgeliehen wurde. Diese nahmen ihn nur einen Monat später fest unter Vertrag. Am Ende der Spielzeit wurde sein auslaufender Vertrag seitens des Kooperationspartners der Wilkes-Barre/Scranton Penguins, die Pittsburgh Penguins aus der National Hockey League (NHL), um ein Jahr verlängert und mit Gültigkeit für die NHL versehen. Dennoch verblieb der Flügelstürmer die gesamte Saison 2013/14 in der AHL, erhielt im Sommer 2014 aber erneut einen neuen Einjahresvertrag. Im Verlauf der Spielzeit 2014/15 kam Farnham schließlich zu seinem NHL-Debüt und spielte elf Mal für Pittsburgh. Hauptsächlich spielte er aber weiter für Wilkes-Barre/Scranton in der AHL.
Nachdem sein Vertrag im Juli 2015 zum dritten Mal um ein Jahr verlängert worden war, schaffte der US-Amerikaner zum Spieljahr 2015/16 endlich den Sprung in den NHL-Kader der Pittsburgh Penguins. Nach drei Einsätzen versuchten die Penguins den Stürmer Ende Oktober über den Waiver zum Farmteam in die AHL zu schicken. Bei diesem Versuch sicherten sich allerdings die New Jersey Devils die Dienste des Angreifers. Für die Devils absolvierte Farnham im restlichen Saisonverlauf 50 Spiele und verbuchte dabei zehn Scorerpunkte, darunter acht Tore. Da sein auslaufender Vertrag diesmal nicht verlängert worden war, wechselte der Angreifer im Juli 2016 als Free Agent zu den Canadiens de Montréal. Dort gehörte er nach der Saisonvorbereitung zum Kader des AHL-Farmteams St. John’s IceCaps und verbrachte die Spielzeit dort, während er auch dreimal für die Canadiens zum Einsatz kam. Im August 2017 erhielt er einen Probevertrag bei den New York Rangers, der jedoch nicht in einem festen Engagement mündete. Anschließend wurde er Ende Oktober 2017 von den Springfield Thunderbirds aus der AHL verpflichtet, bei denen er zwei Spielzeiten lang aktiv war. Die Saison 2019/20 verbrachte der US-Amerikaner beim nordirischen Hauptstadtklub Belfast Giants in der britischen Elite Ice Hockey League (EIHL) und beendete im Anschluss daran im Alter von 31 Jahren seine Profikarriere.
(Legende zur Spielerstatistik: Sp oder GP = absolvierte Spiele; T oder G = erzielte Tore; V oder A = erzielte Assists; Pkt oder Pts = erzielte Scorerpunkte; SM oder PIM = erhaltene Strafminuten; +/− = Plus/Minus-Bilanz; PP = erzielte Überzahltore; SH = erzielte Unterzahltore; GW = erzielte Siegtore; 1Play-downs/Relegation; Kursiv: Statistik nicht vollständig)