Peel and cube the sweet potatoes and place in a large pot with water.
Boil over high heat, then reduce. Boil until the sweet potatoes spear easily with a fork.
Drain the sweet potatoes then place in a large mixing bowl.
Add the eggs, butter, milk, sugars, vanilla, salt and cinnamon and mash or blend with a mixer until completely smooth.
Pour the sweet potato mixture into a casserole dish.
In a separate, small bowl, combine the butter, sugar, flour and salt. Crumble the mixture over the sweet potato puree, then top with the pecans.
Bake until the streusel topping is golden brown, about 30 minutes.