Preheat the oven to 325 degrees F (165 degrees C). Place sweet potatoes in a medium saucepan, and cover with cold water by 1 inch. Boil sweet potatoes until fork tender. Drain and transfer to a large bowl.
Mash drained sweet potatoes with a fork or a potato masher. Add sugar, eggs, milk, vanilla, butter and salt to the mashed potatoes. Mix until smooth and creamy.
Layer the sweet potato mixture into the bottom of a baking dish.
Streusel topping: combine brown sugar, salt and flour together in a medium bowl. Cut in butter with a pastry cutter until the mixture is coarse. Stir in cinnamon and pecans. Set aside.
Sprinkle topping over sweet potato mixture and bake in the preheated oven for about 30 minutes or until the topping is golden brown. Serve immediately.