Preheat oven to 350. Peel sweet potatoes and cut into 1 inch chunks. Place into a large pot and cover in water. Boil until potatoes are tender and pierced very easily by a fork. OR place sweet potato chunks in Instant Pot. Add 1 c water. Set on high pressure for 10 minutes. Quick release pressure and drain sweet potatoes.
In a large bowl, mash sweet potatoes until smooth. Stir in sugar, milk, butter, eggs, vanilla, and salt. Spread evenly into a 9x13 pan.
In a separate bowl, combine coconut, brown sugar, pecans, flour, and melted butter. Mix with a fork or your finger until combined and crumbly. Spread evenly over potatoes and bake at 350 for 40-45 minutes, until topping is browned and potatoes are bubbly.
To prepare in advance: Prepare potatoes and spread into dish. Cover tightly. Mix together topping ingredients and store in a ziploc bag or other sealed container. Potatoes and topping can be refrigerated for up to 3 days before baking. Before baking, spread topping evenly over potatoes, and bake at 350 for 45-50 minutes.