Peel and cube your sweet potatoes into 1-inch pieces. Place them in a large pot and cover with cold water. Bring to a boil over high heat, then reduce to medium and simmer for 15-20 minutes until fork-tender. Drain thoroughly.
Preheat your oven to 350°F (175°C). Lightly grease a 9x13 inch baking dish with butter or cooking spray.
In a large bowl, mash the cooked sweet potatoes until smooth. Add sugar, milk, melted butter, eggs, vanilla, cinnamon, nutmeg, and salt. Beat with an electric mixer on medium speed until well combined and fluffy, about 2-3 minutes.
In a separate bowl, combine chopped pecans, brown sugar, flour, melted butter, and cinnamon. Mix well until the mixture resembles coarse crumbs with a slightly wet sand texture.
Spread the sweet potato mixture evenly in the prepared baking dish. Sprinkle the pecan topping uniformly over the sweet potato layer, covering it completely.
Bake uncovered in the preheated oven for 30-35 minutes, until the topping is golden brown and bubbling around the edges.