Use your favorite brand of conventional peanut butter; the flavor and texture of all-natural versions do not work well in this recipe.
Heat cream, milk, and peanuts in a medium saucepan over medium heat until bubbles begin to form around edges. Remove from heat, cover, and let steep at room temperature for 3 hours (or refrigerate overnight).
Prepare an ice-water bath. Uncover cream mixture, and reheat until hot but not boiling. Whisk yolks, sugar, and salt in a large bowl. Add cream mixture in a slow, steady stream, whisking constantly until well combined. Return mixture to saucepan, and stir constantly over medium heat until thick enough to coat the back of a spoon, about 8 minutes. (Do not let the mixture come to a simmer.)
Strain through a fine sieve into a bowl. Discard solids. Set the bowl in the ice-water bath. Stir in vanilla, and let cool, stirring occasionally, until cold, about 20 minutes.
Freeze mixture in an ice cream maker according to manufacturer's directions. Transfer to a large bowl, and fold in peanut butter until ice cream is swirled. Use immediately, or freeze for up to 1 week.
Freeze for up to 1 week; soften in the refrigerator before use, about 10 minutes.