Preheat the oven to 350 F.
Lightly grease a 9x13 baking pan.
In a medium mixing bowl, sift together flour, sugar, cocoa powder, baking powder, baking soda, and salt. Set aside.
In a large mixing bowl using an electric mixer, combine oil, eggs, vanilla, milk, and sour cream until combined. Do not overmix.
On low speed, slowly add the boiling water. Beat on high speed for 1 minute. Add the dry ingredients to wet ingredients, and mix until fully combined.
Pour batter into prepared cake pan and bake for 30 minutes until toothpick comes out clean.
Remove cake from oven. Sprinkle the top with mini marshmallows and return to the oven for 2 minutes or until the marshmallows are puffy and slightly melted. Remove from oven and allow to cool completely.
In a small saucepan, melt butter. Gradually add heavy cream and cocoa powder. Cook for about 2 minutes stirring constantly.
Remove from heat and add vanilla and powdered sugar using a whisk. Beat until smooth. Immediately drizzle over the cooled cake. Refrigerate for 25-30 minutes until frosting has set.