Using a stand mixer with the whisk attachment, whip 1 cup heavy cream using whisk attachment until peaks form. This takes just a few minutes. Transfer to a separate bowl. Add 8 ounces mascarpone cheese to stand mixer bowl and blend until light and fluffy, just for a minute or two. Transfer mascarpone to the bowl with the whipped cream.
Add 16 ounces Ricotta cheese to the stand mixer bowl and blend the ricotta cheese until smooth. Mix in 1 cup powdered sugar, 4 teaspoons pure vanilla extract, zest from one lemon and zest from one orange. Fold in previously whipped heavy cream and mascarpone cheese along with 1/4 teaspoon pistachio flavor (if using).
Cover and chill several hours or chill overnight.
To make the cannoli shells:
Whisk together 3 cups all-purpose flour, 1/2 teaspoon salt, 1/4 cup granulated sugar, and 1/4 teaspoon cinnamon. Cut in the 3 tablespoons unsalted butter. Make a well in the center and add the 1 egg and and the 1 egg yolk, 1/2 cup sweet Marsala wine, 1 tablespoon white distilled vinegar, and 2 tablespoons water. Mix with a fork to combine or use your hands to mix, if needed. Knead by hand or with a dough hook in your stand mixer for about 10 minutes. Form into a ball, wrap dough with plastic wrap, and refrigerate for about an hour.
Roll out a rounded tablespoon of dough, press flat into a disk shape, and coat both sides with flour. You can try to roll it by hand, but I find it ideal to run through my pasta roller. The goal is to create flat ovals that are about 4-6 inches long, and the thinner and more uniform, the better they will cook.
Using an Atlas pasta roller, I processed the dough starting at setting 1.
Then I continued to increase the setting through to level 6.
Lightly oil the outside of a tube (oil spray works great).
Lay the tube on one end of the disc and roll the tube.
When you reach the end, dab 1 egg white on the flap and finish rolling.
Lightly press the the end with the egg white to seal.
To cook the cannoli shells:
Heat oil to 350 degrees F. Fry 2-3 at a time (while still wrapped around cannoli form) until golden, about a minute. Remove with tongs and place on paper towels to drain. As soon as they are cool enough to handle, gently slip the form out of the shell. Cool completely before filling. Note: this process is SOOOO much easier if you have one person rolling the cannoli shells and the other person is cooking them.
To fill cannoli:
Remove ricotta filling from refrigerator. If it appears too liquid to stuff into the shells, whip with a whisk attachment on a stand mixer for about a minute on high speed. That should thicken it up. If you want chocolate chips mixed in with the filling, add about half to the filling and stir.
Add ricotta filling to piping bag with a wide tube fitting and pipe into each shell. Insert at each end, start filling at the middle of the cannoli and work your way out. To serve, dust with powdered sugar and garnish ends with 10 ounces mini chocolate chips and 1/4 cup chopped pistachios.
Video
Notes
Makes approximately 31 cannolis. Nutritional info based on a single cannoli as a serving.