Preheat oven to 350°F (175°C) and grease a 9x13 inch baking dish.
Place sweet potatoes in a large pot of water and bring to a boil. Cook for 15 to 20 minutes until tender, then drain and mash.
In a large mixing bowl, combine the mashed sweet potatoes, granulated sugar, beaten eggs, salt, 0.5 cup melted butter, milk, and vanilla extract. Whisk until smooth.
Transfer the sweet potato mixture into the prepared baking dish and spread evenly.
In a separate small bowl, mix together the brown sugar, flour, 0.33 cup melted butter, and chopped pecans until crumbly.
Sprinkle the pecan mixture evenly over the top of the sweet potatoes.
Bake for 25 to 30 minutes, or until the topping is browned and the potatoes are heated through.
Allow to rest for 5 minutes before serving.