Line a 5-by-10-inch jumbo loaf pan with parchment paper, leaving a 4-inch overhang on all sides. In a medium saucepan, combine milk and 1 cup sugar. Bring to a simmer over medium-high, stirring constantly, until sugar dissolves. Remove from heat, add peanut butter, and whisk until smooth. Transfer to a large bowl and let cool to room temperature.
In a small saucepan, bring 1/2 cup sugar and 1/2 cup water to a boil over medium-high, stirring occasionally, until sugar dissolves. Remove from heat, add chocolate, and stir until chocolate melts and mixture is smooth. Transfer to a small bowl and let cool to room temperature.
In a large bowl, using an electric mixer, whisk cream and vanilla until soft peaks form. Add half the peanut butter mixture and whisk until combined. With a rubber spatula, add half the remaining peanut butter mixture and gently fold 3 times (mixture will be rippled).
Transfer half the cream mixture to loaf pan. Top with half the peanut butter mixture and 1/4 cup chocolate mixture. Top with remaining cream mixture, then drizzle with remaining peanut butter mixture and 1/4 cup chocolate mixture. With a skewer or thin-bladed knife, swirl mixtures together. Freeze until firm, about 5 hours (or up to 3 days). Let sit 20 minutes at room temperature before serving with extra chocolate sauce.
Change it up: Omit step 2 and use 1 cup prepared caramel sauce or dulce de leche in place of the chocolate mixture.