I agree with duonyte, there is too much sugar in your recipe. Sometimes when ricotta is over beaten, it can become thin/runny.
One of the cannoli fillings I make uses 4 Tablespoons of (regular, granulated) sugar to 2 pounds of Polly-o full fat ricotta.
Cannoli Filling (#1 and # 2)
Here is another filling recipe that I have used (which is not runny)
3 cups full fat ricotta
1/2 cup confectioner's sugar
1/4 teaspoon cinnamon
1/2 square unsweetened chocolate, grated (or 1/2 tablespoon cocoa) optional
1/2 teaspoon vanilla
3 Tablespoons chopped citron peel
3 Tablespoons chopped candied orange peel
6 glace cherries, cut up (optional)
Sift the dry ingredients, mix ricotta thoroughly with the dry ingredients. |Add vanilla and fruit peels, mix and blend well. (you can add some grated pistachio if desired). Make sure filling is well chilled before filling shells. Optional: Decorate the ends of each cannoli with a piece of glace cherry.
I'm not sure where you are located, but if you can find "pastry ricotta" (its called Impastata ricotta) near you, it will solve your filling problems. Impastata ricotta is very, very dry, and very smooth (no graininess) - it has the texture of a solid block of cream cheese. It is the ricotta used in bakeries and by many home cooks that have access to it. Most Italian import stores and Italian cheese stores carry it, as do a lot of high end grocery stores. It can also be ordered online.
I would suggest using your filling in a trifle.
