Make the Dough:
In a large bowl, combine flour, sugar, and salt. Cut in butter until mixture resembles coarse crumbs. Add egg yolk and Marsala wine. Mix until dough forms. Knead briefly until smooth. Wrap in plastic wrap and refrigerate for 1 hour.
Prepare Shells:
On a floured surface, roll dough out to 1/8-inch thickness. Cut into 4-inch circles. Wrap each circle around a cannoli tube and seal edges with a little water.
Fry Shells:
Heat 2 inches of vegetable oil in a deep pot to 350°F (175°C). Fry shells in batches for 2–3 minutes, turning until golden brown. Remove and drain on paper towels. Let cool completely, then carefully remove cannoli tubes.
Prepare Filling:
In a medium bowl, beat ricotta, powdered sugar, vanilla, and cinnamon until smooth. Fold in chocolate chips.
Fill Cannoli:
Just before serving, pipe or spoon the ricotta filling into both ends of each shell. Garnish with chopped pistachios or almonds if desired.
Serve:
Dust with powdered sugar and enjoy immediately.