Mr Cameron was speaking at an event in Harrogate to promote his memoirs. During the talk anti-Brexit protestors repeatedly interrupted the former premier.
One man demanded Mr Cameron apologise for “ruining our country”.
Parliament will vote today on the Government’s renegotiated Brexit agreement.
Mr Johnson insists it is the best way of taking Britain out of the EU by October 31.
However critics are angry that it leaves Northern Ireland party economically attached to the EU, with customs checks needed down the Irish Sea.
Referring to Mr Johnson and his deal Mr Cameron commented: “The thing about the greased piglet is that he manages to slip through other people’s hands where mere mortals fail.
“The country voted to leave the European Union, the best way to leave is with a deal, I think a no deal Brexit would be bad for the economy and bad for the union.
“I think it’s much better to leave with a deal and I think Boris has done well to achieve that deal.
“I hope he’ll get it through Parliament, I suspect he will but it will be tight.”
JUST IN: Sturgeon makes incendiary claim Jeremy Corbyn could allow Brexit
“And so it’s a deal, and I will vote for it, and so will many of my colleagues of the people who had the whip taken away from them because that is what we all want.”
David Guake, another of the group, is expected to back the deal.
Gloria De Piero, formerly in Mr Corbyn’s shadow cabinet tweeted: “My constituent Graham Norman just came to my surgery.
“He is a lifelong Unite member who voted Leave. He begged me to vote for a deal tomorrow.
“I haven’t decided what I’ll do but when I look at some people’s comments on Twitter calling people like him a Tory – I despair.”
Bassetlaw MP John Mann, who like Ms De Piero is standing down at the next election, said “more than nine” Labour MPs had already decided to vote for the deal.
A group of anti-Brexit protestors demonstrated outside Mr Cameron’s talk.
The former Prime Minister was repeatedly heckled during his address.
One woman shouted: “I think the good people of Harrogate came here to hear an apology from you.”
A man added: “Your policy of austerity did absolutely nothing to bring this country together.”
To some cheers Mr Cameron responded: “You can pay £35 to shout at me in here, or you can shout at me outside for free afterwards.”