1To make the filling: Bring cream and sugar to simmer in a saucepan, whisking to dissolve sugar. Remove from heat, stir in the peanut butter and chocolate, let stand a minute or two and then whisk until smooth. Chill for several hours or overnight.
2To make the cake: Preheat oven to 350°F and spray three 9" cake pans with nonstick spray (or butter them). In a large bowl, beat the butter, peanut butter and sugar until fluffy. Beat in the eggs, one at a time, and the vanilla.
3In a small bowl, stir together the flour, baking powder, baking soda and salt. Add it to the butter mixture in three additions, alternating with the buttermilk in two additions, beating on low speed just until mixed each time.
4Divide batter among pans and spread evenly. Bake for 20-25 minutes, until the cakes are golden and springy to the touch. Let cool for a few minutes before turning out on a wire rack to cool completely.
5To make the frosting, beat the cream cheese and peanut butter until smooth; beat in a cup of the icing sugar, then another cup along with the vanilla. Add more sugar, beating until you have something spreadable. If you need to, add a tablespoon of water or milk - the moisture content of peanut butters will vary.
6To assemble the cake, place one layer on a serving plate or cake plate and spread with half the chocolate ganache; top with another cake layer and the rest of the ganache. Top with the third cake layer and if you like, refrigerate to allow the ganache to firm up a bit (this will keep it from melting into the frosting).
7Frost the cake with peanut butter frosting and serve immediately.