Preheat the oven to 350 degrees Fahrenheit.
Add water to a large pot and bring to a boil over high heat. Add the sweet potatoes and cook until fork tender, about 15 minutes. Drain with a colander. (Alternatively, you can bake the sweet potatoes in the oven for 1 hour or until fork tender).**
Add cooked potatoes to a large mixing bowl and add the milk, butter, maple syrup, vanilla, cinnamon, nutmeg and salt. Use a potato masher or electric mixer to puree until smooth.
While the sweet potatoes boil, make the topping by mixing together the pecans, flour, butter, maple syrup and salt. Use a fork, pastry cutter, or your hands to mix until crumbly.
Add the potato filling to an 8x11 inch baking dish and spread evenly. Add the crumb topping making sure it covers the entire dish.
Bake for 40-45 minutes or until the topping is golden brown.