He was a founder member of the Democratic Party, previously a member of the Meeting Point. He was a member of Southern District Council between 1994–99 and of Tai Po District Council from 1999-2011. Cheng was first elected to the Legislative Council in 1995 representing the Financial, Insurance, Real Estate and Business Services constituency but left the Council when it was replaced by the Provisional Legislative Council in July 1997. He was elected to represent the New Territories East constituency in 1998 and won re-election in 2000, 2004 and 2008. In June 2010, Cheng publicly pondered his moral dilemma in supporting the vote in support of the revised electoral reform proposals put forward by the government and backed by the Democratic Party. The proposal draw unprecedented controversy in the pan-democractic camp as the leaders of the Democratic Party had met with and sought approval from the officials of the Central Government Liaison Office. He subsequently decided to vote against the proposals, and announced in his Legco speech that he would quit the party because "small, but critical differences of opinion" prevented him from fulfilling his election pledge to strive for universal suffrage in 2012. Cheng stood down at the 2012 election, in which he supported several pan-democratic candidates in New Territories East. He helped Gary Fan, who stood second in his list in previous elections and also quit the Democratic Party owing to disagreement over the 2010 electoral reform proposals, of Neo Democrats to win a seat in the constituency. He joined D100 as a radio host after retiring from the Legislative Council. Although once denied rejoining electoral politics, Cheng changed his mind and contested the 2016 legislative election in New Territories East. He lost the bid with only 3.08% support. Three of Neo Democrat's Shatin District Councillors defected from Gary Fan to Cheng on the election day; they were subsequently dismissed from the party for Fan's failure in re-election.
Personal life
Cheng is married to Chan Kwai-ying, who is a cousin of his fellow Democrat Wong Sing-chi, and is a father of two.