Preheat the oven to 350 degrees F and grease a 9-inch x 13-inch baking pan with cooking spray. Set aside.
In a medium-sized bowl, sift together the cake flour, baking powder, and salt. Set aside.
Using a stand mixer (or a hand mixer) combine the brown sugar and butter together until it becomes light and fluffy.
Add the vanilla and oil to the mixing bowl and mix until combined. Once combined, increase the speed to medium-high until the batter is once again light and fluffy.
Add the peanut butter and mix until combined. Add the eggs one at a time.
Add the flour in 3 parts, alternating with the milk, starting and finishing with the flour. Once the final part of flour is ready to be added, finish mixing by hand to prevent over mixing the batter.
Pour the batter into the prepared baking sheet. Bake for 28-32 minutes or until a cake tester comes out clean.
Remove from the oven and allow to cool on a wire rack completely before frosting.
Prepare the frosting by creaming together the butter and peanut butter with a paddle attachment. Scrape the sides of the bowl and add in the cocoa powder and mix until fully combined.
Add the powdered sugar 1 cup at a time, mixing slowly between each addition until incorporated. Slowly add in the heavy cream with the mixer running on low speed until incorporated then increase speed to medium-high and whip for about 2 minutes until light and fluffy.
Spread the frosting over the cooled cake before cutting it into 12 slices. Place 1 unwrapped Reese's peanut butter cup on each slice for garnish, if desired.