Preheat the oven to 350 degrees Fahrenheit and grease an 8x8-inch or 9x9-inch square baking pan.
Prepare the streusel topping by mixing flour, brown sugar, and cinnamon, then cut in the cold butter until coarse crumbs form. Chill until needed.
Whisk together the flour, baking powder, baking soda, and salt in a medium bowl.
Cream the softened butter with granulated sugar and brown sugar for 2 to 3 minutes until light and fluffy.
Add the eggs one at a time, then mix in the vanilla extract and sour cream until smooth.
Gradually stir the dry ingredients into the wet mixture just until combined.
Fold the diced peaches gently into the thick batter.
Spread the batter evenly into the prepared baking pan and sprinkle the chilled streusel topping over the surface.
Bake for 40 to 50 minutes until a toothpick inserted into the center comes out with a few moist crumbs.
Cool the cake for at least 15 to 20 minutes before slicing. Drizzle with optional glaze if desired.