Preheat oven to 375°F and line a 12-cup muffin tin with paper liners. Melt 1/2 cup butter and set aside to cool slightly, then melt 3 tablespoons butter for the swirl.
Stir together brown sugar, cinnamon, and flour until no lumps remain, then stir in the melted butter until it looks like thick wet sand. Set aside.
In a large bowl, whisk the flour, baking powder, baking soda, salt, and cinnamon for about 30 seconds, then make a well in the center.
Whisk the cooled melted butter with the granulated sugar until glossy, then whisk in the eggs one at a time, followed by the milk, sour cream, and vanilla until smooth.
Pour the wet ingredients into the well and gently fold with a rubber spatula just until the flour disappears, about 12 to 15 folds. A few small lumps are fine.
Scoop about 2 tablespoons batter into each cup, add about 2 teaspoons swirl, top with a heaping scoop of batter until three-quarters full, then sprinkle the remaining swirl on top and drag a toothpick through in an S shape.
Bake on the center rack at 375°F for 18 to 22 minutes, until golden and a toothpick inserted near the edge comes out clean.
Rest muffins in the pan for 5 minutes, then transfer to a wire rack and cool for at least 20 minutes until only slightly warm.
Beat the softened cream cheese until smooth, then beat in the powdered sugar, vanilla, and 2 tablespoons milk, adding the last tablespoon a teaspoon at a time until thick but pourable.
Drizzle the glaze over the cooled muffins in zigzag lines or spread it on with an offset spatula, then let it set for about 10 minutes before serving.