Claudio Marchisio put Juve ahead early on with his first Serie A goal since May 2015 and Dybala scored a brilliant free-kick to put his old side on the ropes before the break.
Gonzalo Higuain's 19th league goal of the season – and 12th in his last 10 games – then put the result beyond doubt just after the hour mark, the in-form striker converting a pass from Dybala.
Dybala himself added a fourth with a minute remaining, before Ivaylo Chochev grabbed a late consolation for Palermo.
Palermo, meanwhile, remain eight points from safety in 18th position and have lost their last 10 Serie A meetings against Juve.
Juve made five changes perhaps with the Porto game in mind, but dominated from the off, with Dybala curling a 25-yard free-kick against the foot of the post.
The hosts were ahead in the 13th minute, Marchisio taking one touch and firing a left-footed strike high into the net from eight yards after Gonzalo Higuain's initial shot had been saved by Josip Posavec.
10 - Juventus have scored 10 goals in the first 15 mins of play in home games, at least 3 more than any other team in this Serie A. Stadium. — OptaPaolo (@OptaPaolo) February 17, 2017
Gianluigi Buffon kept out Ilija Nestorovski's effort from a tight angle at the other end, before Juve almost doubled their advantage when Sami Khedira diverted Marko Pjaca's cross towards goal, only for Haitam Aleesami to hack clear off the goal-line.
Having come close earlier, Dybala made no mistake with his next free-kick opportunity from a similar distance.
After Bruno Henrique had fouled Stefano Sturaro, the forward curled a magnificent effort past Posavec five minutes before half-time.
The second half got off to a quiet start before Juve got their third after 63 minutes, Higuain coolly lofting his finish over Posavec having been set up by Dybala's throughball.
Palermo breathed a sigh of relief late on when keeper Posavec got back on his feet after what had looked like a serious head injury incurred in a nasty accidental clash with team-mate Edoardo Goldaniga.
Juve added gloss to the scoreline when Dybala struck with a low finish after Higuain had robbed Goldaniga and set him up, before Chochev's thumping header from substitute Alessandro Diamanti's inswinging cross ended the hosts' run of five straight league clean sheets in injury time.