In a large bowl, whisk together flour, sugar, and salt.
Cut in the cold butter using a pastry blender or your fingertips until the mixture resembles coarse crumbs.
Gradually add the Marsala wine, mixing until a shaggy dough forms. Do not overmix.
Turn the dough out onto a lightly floured surface and knead gently for a minute until it just comes together. Wrap in plastic wrap and chill for at least 30 minutes.
Shape and Fry the Shells
Divide the dough into small portions and roll each thinly (about 1/16 inch thick). Cut into circles or squares (about 3 inches).
Drape the dough pieces over cannoli forms (or create your own forms using foil and dowels). Seal the edges with a bit of egg white.
Heat vegetable oil in a deep pot or Dutch oven to 350°F (175°C).
Carefully fry the cannoli shells until golden brown and crisp, turning occasionally. This should take about 2-3 minutes per shell.
Remove from oil and drain on paper towels. Once cool enough to handle, carefully slide them off the forms.
Make the Filling and Assemble
In a medium bowl, combine the drained ricotta cheese, powdered sugar, and vanilla extract. Mix until smooth and creamy.
Fold in the mini chocolate chips, if using.
Spoon or pipe the ricotta filling into the cooled cannoli shells just before serving to prevent them from becoming soggy.
Dust with powdered sugar and garnish with candied orange peel or chopped pistachios, if desired.
Notes
For best results, drain the ricotta cheese very well. You can do this by placing it in a fine-mesh sieve lined with cheesecloth over a bowl in the refrigerator for several hours or overnight.