Pre-heat your oven to 160C Fan/180C/350F/Gas Mark 4, and grease and line three 8" cake tins that are at least 2" deep
Make the sponge by mixing the butter and caster sugar in a large bowl until fluffy, ideally using an electric mixer
Add the eggs and milk, and whisk until fully incorporated
Add the cocoa powder, baking powder and self raising flour and whisk in gently until you can't see any flour anymore
Divide the mixture between the tins, use scales for accuracy if you like
Bake them for 30-35 minutes or until a skewer inserted in the middle comes out clean. Leave them to fully cool either in the tins or on cooling racks
If the cakes have domed on top, level them off with a cake leveller or a knife
To make the buttercream, mix together the butter and peanut butter until smooth. Then add the cocoa powder, icing sugar and milk, for best results use an electric mixer
Whisk until smooth, you can add extra milk if the buttercream is too stiff
Stack the sponges up on your plate or cake stand, piping or spreading buttercream between each layer. Drizzle the caramel over each layer of buttercream, and sprinkle some peanuts on top
When you get to the last layer, pipe larger rosettes all around the edge and smaller ones in the centre, drizzle over more caramel sauce and add some peanuts too
Add the chopped Snickers pieces all around the edge
Serve immediately, store leftovers in an airtight container in a cool place and eat within 3 days