Preheat oven to 350 degrees. Spray a 9x13 baking dish with non-stick spray like Wilton Bake Easy.
In a large bowl mix together cake mix, eggs, sour cream, water, vegetable oil, and vanilla until blended.
Pour in prepared baking dish. Bake for 25-30 minutes until cake tester inserted in the center comes out clean.
Allow cake to cool for about 15 minutes. While the cake is still warm poke holes in the cake, leaving about 2 inches between holes using the back of a wooden spoon. Allow cake to cool completely before filling.
In a large bowl mix together pudding mixes and milk until blended and smooth. Immediately pour over all over cake before the pudding sets, making sure getting the pudding mix into the holes. Refrigerate until pudding is set.
Whip heavy whipping cream in a large bowl using an electric or hand held mixer on high speed until soft peaks form, about 5 minutes. Reduce speed and add in powdered sugar and cocoa powder. Continue to mix until blended. Refrigerate topping for about 15 minutes.
Add chocolate topping to the top of cake. Top with chocolate sauce, sprinkles or chocolate chips. Refrigerate until ready to serve.