Lightly butter a donut pan and preheat the oven to 350 F/180 C.
Make the chocolate crumb topping. Combine the flour, cocoa powder, sugar, light brown sugar, and melted butter in a small bowl until crumbly. Keep in the freezer until ready to use.
In a large bowl, whisk together the flour, cocoa powder, baking powder, baking soda, and salt.
In a large mixing bowl, whisk together the buttermilk, sugar, egg, melted butter, sour cream, oil, and vanilla until combined.
Pour the dry ingredients into the wet and whisk until just combined.
Fill a piping bag with the batter.
Fill the greased donut pan about ⅔ full with the batter. If you only have one pan, you will need to bake two rounds in the oven. Once the first pan is done cooling, wash the pan, butter it, then fill it with the rest of the batter. Take the crumb and break it up some with your hands. Then evenly sprinkle it across the tops of three donuts. Gently press it into the batter with your hand.
Bake the pan for 9 minutes in the preheated oven.
Allow the pan to cool on a wire rack for at least 10 minutes, then gently remove them and allow them to continue cooling on the rack before glazing (about 10-15 minutes longer). Continue baking the rest of the batter if needed. In a medium bowl, whisk together the powdered sugar, milk, and vanilla until smooth. The glaze should be thin. Dunk the tops of the crumb topped donut into the glaze, then set it back on the rack to set.
In another bowl, whisk together the powdered sugar, cocoa powder, vanilla, and milk. The glaze should be thick, and fall off your whisk slowly but smoothly. Dunk the other 9 donuts in the chocolate glaze.
For the peanut butter: Pipe or drizzle the melted peanut butter in stripes over the top. Sprinkle with chopped peanut butter cups if desired.
For the rainbow sprinkles: Sprinkle the tops with rainbow sprinkles.
For the triple chocolate: Sprinkle a line of chocolate shavings across the top.