In a large mixing bowl, add 2 cups sugar. Then sift the 2 cups flour and 4 tbsp cocoa powder into the bowl. Sifting the flour and cocoa is an important step so don't skip it!
Then add the 1/2 cup butter on top of the sifted ingredients.
Put the 1 cup water and the 2/3 cup vegetable oil in a small saucepan and bring to a boil. Pour all at once over the flour, sugar, and cocoa mixture.
Stir until well combined.
Add the 2 eggs, 1/2 cup buttermilk, 1 1/2 tsp baking soda, and 1 tsp vanilla and stir until smooth.
Spray the baking dish with cooking spray. Pour into a 9x13 cake pan or large cookie sheet and bake at 350º for 25-30 minutes or until the cake bounces back when touched lightly in the middle. Don't overbake.
Frosting
Put the 1 cup sugar, 1/3 cup milk, and 5 tbsp butter into a saucepan. Bring to a boil. Do not boil for more than 20 seconds. Remove from heat and add the 2 cups milk chocolate chips. Stir until dissolved and then add the 1 tsp vanilla and stir again. If using the marshmallows and/or the chopped nuts, add those in and gently stir. Immediately pour onto the cake and spread. This sets ups fast so work quickly.
This is best if made the day ahead. Allow at least 6-8 hours to set up if possible.