Preheat your oven to 350 degrees. Line a muffin pan with cupcake liners.
In a large mixing bowl, cream together the butter and sugar and then add the eggs, one at a time.
Sift together the flour, baking powder, baking soda, and salt and then stir them gently into the mixing bowl. Mix until just combined, and then add in the sour cream and vanilla.
Divide the batter between the muffin tins. They will be very full.
Melt half the chocolate, and spoon some on top of each muffin. Use a knife to swirl the chocolate into the batter.
To make the streusel, mix together the sugar and flour and then cut in the flour, with a pastry cutter or food processer, until large crumbs are formed. Sprinkle each muffin with a large spoonful of streusel.
Bake 20 minutes, or until a toothpick inserted into the center comes out free of batter (but still covered in chocolate).
Let the muffins cool in the pan on a wire rack for 5 minutes, and then out of the pan on the rack for 10 minutes. Melt the rest of the chocolate and drizzle onto the muffins.