Puncheon debuteerde in het seizoen 2003-2004 in het betaald voetbal in het shirt van Wimbledon. Hij speelde in eerste instantie drie jaar voor de club, waarvan de laatste twee onder de nieuwe naam Milton Keynes Dons. Na een reeks dienstverbanden bij clubs in lagere Engelse divisies en drie huurperiodes waarin hij weer uitkwam voor Milton Keynes Dons, nam Southampton Puncheon op 30 januari 2010 over van Plymouth Argyle. Met The Saints speelde hij zowel in de League One, Championship als Premier League. Tussendoor leende de club hem uit aan Millwal, Blackpool en Queens Park Rangers. Op 21 augustus 2013 werd besloten om hem tijdens het seizoen 2013/14 een jaar uit te lenen aan promovendus Crystal Palace. Op nieuwjaarsdag 2014 scoorde hij zijn eerste doelpunt voor The Eagles tegen Norwich City. Op 31 januari 2014 zette Puncheon zijn handtekening onder een permanente verbintenis bij Crystal Palace.