
In a mixing bowl, combine gluten-free flour, sugar, xanthan gum, cinnamon, and salt.
Add the cubed butter and use a pastry cutter or your fingers to incorporate it until the mixture resembles coarse crumbs.
Add the egg and 2 tablespoons of Marsala wine (or vinegar) and mix until a dough forms. If too dry, add a bit more wine, 1 teaspoon at a time, until dough holds together.
Wrap the dough in plastic wrap and chill in the refrigerator for at least 1 hour.
Once chilled, roll the dough on a floured surface to about 1/8-inch thickness. Cut into circles (about 4 inches in diameter).
Wrap each circle around lightly greased cannoli tubes and seal the edges with a bit of beaten egg or water.
Heat oil in a deep pan to 350°F. Carefully fry the cannoli shells in batches until golden brown, about 1-2 minutes per side. Remove and drain on paper towels. Let cool completely before removing from forms.
While the cannoli shells are cooling, spread the ricotta on a paper towel to remove excess moisture.
In a bowl, combine ricotta, mascarpone, powdered sugar, and vanilla extract. Mix until smooth.
Fold in chocolate chips.
Transfer the filling to a piping bag and pipe into the cooled shells. Dust with powdered sugar or grated chocolate if desired.
Serve immediately for best texture, or refrigerate for up to 1 day.