Preheat oven to 350°F. Line a 9x9-inch baking pan with parchment paper leaving a 2-inch overhang at each side.
For the crumb topping, combine flour, both sugars and salt (if you’re using unsalted butter) in a medium bowl and whisk to blend evenly so that there are no lumps of brown sugar. Add melted butter to the dry ingredients and stir with a spoon until evenly combined, then toss with your fingertips to form large crumbs. Cover with a tea towel and set aside.
For the cake batter, combine melted butter, both sugars, vanilla in a medium mixing bowl and whisk until pale and fluffy-looking. Whisk in eggs one at a time until very light and creamy. Mix in yogurt. Sift flour, baking powder and salt into a small bowl and whisk to blend evenly. Add it to the wet mixture and fold it in by hand with a spatula until mostly incorporated. Pour in milk and fold it in until batter is evenly combined. Spread batter evenly into prepared pan.
For the peach topping, combine flour with sugar and then sprinkle it over the chopped peaches. Toss it all together until peaches are evenly coated and scatter evenly over the batter. Then, scatter clumps of crumb topping evenly on top to cover the peaches.
Bake for 40-50 minutes until the crumbs are lightly golden and the cake feels firm to the touch. A toothpick inserted into the center should comes out without any wet batter. Transfer to a wire rack and let cool for at least 30 minutes before serving.