Preheat oven to 375°F. Lightly grease a 9x13-inch casserole dish with nonstick spray or butter.
Place the sweet potatoes in a large pot and fill it with enough water to cover the potatoes by 1 inch. Bring to a boil over high heat, then reduce the heat to medium and cook for 15 to 20 minutes, until the potatoes are very tender. Drain well.
Return the potatoes to the pot and mash with a potato masher or large fork. Add the brown sugar, butter, milk, eggs, salt and vanilla then beat with an electric hand mixer or stir with a wooden spoon until well combined. (A hand mixer will result in a smoother filling.)
Spread the sweet potato mixture into the greased baking dish and smooth into an even layer. Set aside to cool slightly while you make the topping.
For the Topping:
In a medium bowl, stir to combine the brown sugar, flour and cinnamon. With a fork, stir in the melted and cooled butter until the topping is crumbly. Stir in the roughly chopped pecans.
Sprinkle the topping all over the sweet potatoes in the dish.
Bake for 25 to 30 minutes until the casserole is slightly puffed and golden brown on top. Let it rest for about 10 minutes before serving.
Opt for small to medium-sized sweet potatoes. They are sweeter and less watery than the very large ones. When mashed, they will be creamy instead of runny.
For a smoother sweet potato filling: Use a hand mixer instead of a wooden spoon to beat the filling ingredients together. Unlike regular potatoes, sweet potatoes contain much less starch, so you don’t run the same risk of making them gummy by using an electric mixer to mash them.
Cool the melted butter slightly for the topping. If the melted butter is hot or too warm, it will melt the sugar in the streusel, turning it into a paste instead of a crumbly topping. Once melted, let it sit at room temperature for 10 to 15 minutes.