Preheat oven to 350°F. Using a pastry brush, butter two cake pans completely. Dust pans with cocoa powder and tap out the excess.
In a medium bowl, whisk the cocoa powder, flour, baking powder, and salt together. Set aside.
Over a double boiler, melt chocolate and butter. Stir until combined. Remove from heat and allow the mixture to cool.
In a large bowl, whisk sugar, eggs, and vanilla until well incorporated. Add the chocolate-butter mixture and mix. Add the flour mixture and mix until combined.
Evenly divide the batter into the prepared pans. Bake for 20 minutes or until a toothpick inserted into the middle of the cake comes out clean. Then remove the cakes from the oven and place over a cooling rack for 10 minutes. Invert the cakes and allow to cool completely.
Meanwhile, prepare the filling. In a medium bowl using an electric mixer, beat butter, cream cheese, and vanilla until light and fluffy. Gradually add the powdered sugar and milk. Beat until smooth.
When the layers are completely cool, turn one cake over (printed side facing down) over a serving platter. Spread buttercream over the cake and top with the second layer. Cover the sides with sprinkles if desired.