Prep the pan and oven. Heat oven to 350°F (175°C).
Line the jelly roll pan with parchment, leaving some overhang on the long sides. Lightly grease the parchment.
Whip the eggs and sugar. In a large bowl, beat eggs, sugar, and vanilla on high for 5–7 minutes until very pale, thick, and tripled in volume. This step gives the cake lift.
Sift and fold. Sift flour, cocoa, baking powder, and salt together.
In three additions, gently fold the dry mix into the egg foam with a spatula. Avoid deflating.
Add milk and oil. Stir milk and oil together. Drizzle around the edge of the batter and fold just until combined.
The batter should be glossy and pourable.
Bake. Spread batter evenly in the pan and smooth the top. Bake 9–12 minutes until the cake springs back when touched and a toothpick comes out with a few moist crumbs.
Prepare the rolling towel. While the cake bakes, lay a clean towel on the counter and dust generously with powdered sugar. This prevents sticking.
Flip and roll warm. Run a knife along the pan edges.
Invert the hot cake onto the sugared towel and peel off the parchment. Starting at a short end, roll the cake up with the towel inside. Let it cool seam-side down on a rack for 45–60 minutes.
Make the filling. Beat cream cheese, peanut butter, powdered sugar, vanilla, and salt until smooth.
In a separate bowl, whip the heavy cream to soft peaks. Fold the whipped cream into the peanut butter mixture until fluffy.
Unroll and fill. Gently unroll the cooled cake. Spread the filling evenly, leaving a 1/2-inch border on all sides.
Don’t overfill the very end.
Roll again. Re-roll the cake (without the towel) as tightly as you can without squeezing out the filling. Wrap in plastic and chill for 30–60 minutes to set.
Optional drizzle. Melt chocolate chips and butter in short bursts in the microwave or over a double boiler. Drizzle over the chilled roll.
Let set 10 minutes.
Slice and serve. Use a sharp serrated knife. Wipe the blade between cuts for the cleanest spirals.