Preheat oven to 350 degrees F. Grease an 8x8-inch square baking pan (2-inches deep) with nonstick cooking spray. Set aside.
In a small bowl, combine the flour, brown sugar, cinnamon, and salt. Add the butter and rub it in with your fingertips until the mixture is crumbly. Place the bowl in the refrigerator while you make the cake.
In a medium bowl, whisk together the flour, baking powder, salt, and cinnamon. Set aside.
Use a stand mixer or hand mixer to cream together the butter and granulated sugar, scraping down the sides of the bowl with a spatula, as needed. When smooth, add the egg and vanilla extract and mix until combined.
Alternately add the flour mixture and the buttermilk, while mixing on low, ending with the flour. Don’t over mix.
Gently stir in the peaches with a spatula, being careful to not over mix.
Pour the cake batter into the prepared pan and top evenly with the streusel topping.
Bake for 40 to 50 minutes, or until a toothpick or knife inserted into the center comes out clean and the cake is golden brown.
Let the cake cool in the pan on a wire cooling rack for 20 minutes.
While the cake is cooling, make the glaze. In a medium bowl, combine the confectioner’s sugar, heavy cream or milk, and vanilla. Whisk until smooth. Drizzle the glaze over the cake.
Cut into squares and serve!