Preheat oven to 375°F (190°C). Grease a 9x13 inch baking dish.
Boil sweet potatoes in a large pot of water for 15-20 minutes until fork-tender.
Drain potatoes thoroughly and return to pot.
Mash sweet potatoes until smooth using a potato masher or electric mixer.
Add sugar, butter, eggs, milk, vanilla, cinnamon, and salt to the potatoes. Beat until smooth and well combined (2-3 minutes).
Transfer sweet potato mixture to prepared baking dish.
In a medium bowl, combine brown sugar, flour, and chopped pecans.
Add melted butter and vanilla to the pecan mixture, stir until crumbly.
Sprinkle pecan topping evenly over sweet potato mixture.
Bake for 45-50 minutes until topping is golden brown and casserole is set.
Let rest for 10 minutes before serving.