Mix all the streusel ingredients together until well blended and set aside. It should blend together like a thick paste.
Whisk dry ingredients together in a large bowl (flour, baking soda, baking powder, salt). If using fresh blueberries, add them to the dry ingredients and stir them just for a minute to coat them in the flour mixture. This will keep them from sinking to the bottom of your muffins. If using frozen blueberries, add at the end.
In a separate bowl, whisk all the wet ingredients (milk, sour cream or yogurt, eggs, melted butter) and sugar until smooth. If your ingredients are very cold, the melted butter may re-solidify a little.
Pour the wet ingredients into the dry and stir until just combined. The batter will be lumpy and thick. If using frozen blueberries, incorporate them gently.
Preheat the oven to 400℉ and lightly grease your standard sized muffin pan, or you can use paper liners. Fill the cups of the muffin tin with batter. Try to leave ¼" of space at the top if you can.
Take 1 Tbl of the streusel mix for each muffin, and gently flatten it into a small circle before lightly pressing onto the top of each muffin. If your streusel mix is more dry and crumbly, you can just sprinkle it on top.
Bake for 15-20 minutes, then remove from the oven and carefully transfer the muffins to a cooling rack.