Former national badminton champion Punch Gunalan died of cancer at the Sime Darby Medical Centre in Subang Jaya this morning.