Preheat the oven to 350F. In a large bowl, beat the butter, oil and sugar for a couple minutes, until pale and fluffy. Beat in the eggs and vanilla.
In a small bowl, stir together the flour, baking powder and salt. Add about half to the butter mixture and stir by hand or on low speed just until blended. Stir in the sour cream or yogurt and then the rest of the flour, stirring just until combined. Spread into a buttered or parchment-lined 9-inch round or square pan or baking dish. Spread the fruit overtop.
In the same bowl, blend the brown sugar, flour, butter, cinnamon and salt and mix with a fork or rub between your fingers until well blended. Scatter over the berries, squeezing the mixture as you go to create larger crumbs.
Bake for 75-90 minutes, or until the visible cake is golden and springy to the touch - it may seem soft in the middle, but should firm up as it cools. Serves 8-12.