A Jason Puncheon double helped Crystal Palace earn a vital 3-0 victory at Cardiff, who are now six points from safety as a result.