**Preheat the oven:** Preheat your oven to 425°F (218°C). Grease or line a 12-cup muffin tin with paper liners.
**Prepare the cinnamon swirl:** In a small bowl, mix softened butter, cinnamon, flour, and brown sugar until crumbly. Set aside.
**Make the muffin batter:**
- In a medium bowl, whisk together the flour, baking soda, and salt.
- In a large bowl, beat softened butter, sugar, and brown sugar until light and fluffy. Add the egg, vanilla, milk, and sour cream, mixing until smooth.
- Gradually fold in the dry ingredients until just combined (do not overmix).
**Prepare the streusel topping:**
- Mix the butter, flour, brown sugar, and optional nuts (if using) in a small bowl until the mixture is crumbly. Refrigerate until ready to use.
**Assemble the muffins:**
- Scoop batter into muffin cups, filling about 2/3 full.
- Add a small spoonful of the cinnamon swirl mixture to the center of each muffin and gently swirl it with a toothpick or knife.
- Top each muffin with the prepared streusel topping.
**Bake the muffins:**
- Bake at 425°F (218°C) for 5 minutes, then reduce the temperature to 350°F (177°C) and continue baking for 30-35 minutes, or until a toothpick inserted into the center comes out clean.
**Cool and serve:** Allow muffins to cool completely on a wire rack before serving.