Preheat oven to 350°. Grease a 15x10x1-in. baking pan.
In a large bowl, whisk flour, sugar, baking soda and salt. In a small saucepan, combine water and butter; bring just to a boil. Stir in peanut butter and oil until blended. Stir into flour mixture. In a small bowl, whisk eggs, buttermilk and vanilla until blended; add to flour mixture, whisking constantly.
Transfer to prepared pan. Bake until a toothpick inserted in center comes out clean, 20-25 minutes.
Meanwhile, for glaze, combine sugar, milk and butter in a saucepan. Bring to a boil, stirring constantly; cook and stir 2 minutes. Remove from heat; stir in peanut butter, marshmallows and vanilla until blended. Spoon over warm cake, spreading evenly. Cool on a wire rack.