Preheat your oven to 350°F and grease a 9x13-inch baking dish.
Boil sweet potatoes in their skins until tender, about 30-40 minutes. Drain, cool slightly, peel, and place in a large bowl.
Mash the sweet potatoes until smooth. Add granulated sugar, melted butter, eggs, milk, vanilla, and cinnamon. Mix until well combined.
Pour the sweet potato mixture into the prepared baking dish and spread evenly.
In a separate bowl, combine brown sugar, flour, and softened butter. Mix with a fork until crumbly, then stir in pecans.
Sprinkle the pecan topping evenly over the sweet potato mixture.
Bake for 30 minutes, then remove from oven and top with marshmallows.
Return to oven and bake for 10-15 minutes more, until marshmallows are golden and toasted. Let cool for 5 minutes before serving.