Preheat the oven to 350°F. Butter a 2-quart casserole dish. Line a baking sheet with aluminum foil.
Pierce each sweet potato several times with a paring knife or fork and place on the baking sheet. Bake for 60 to 70 minutes, or until soft and tender when pierced with a paring knife. Transfer the baking sheet to a cooling rack. Cut a slit in the potatoes lengthwise and cool for 15 to 20 minutes.
Scoop the sweet potato flesh into a large bowl and mash it with a potato masher or fork. Add the butter, sugar, and cream and, using an electric mixer on medium-high speed, beat to blend. Add the eggs, one at a time, and beat to combine. Add the vanilla, salt, and allspice and beat until evenly mixed. Spread the mixture in the casserole dish.
Make the topping (instructions below), then bake for 45 minutes at 350°F, or until the ingredients are puffed slightly and the topping is a rich light brown. Transfer to a cooling rack for 15 to 20 minutes before serving.
Combine the brown sugar, flour, cinnamon, salt, and butter in a food processor and pulse briefly.
Add the pecans and spread the topping evenly over the sweet potato mixture.