Preheat oven to 350 degrees and butter a deep, 9-inch square baking dish.
Put the sweet potatoes in a large saucepan and cover with water. Cook over medium heat until tender. Drain and mash.
Add the sugar, eggs, butter, evaporated milk, vanilla, and cinnamon (if using) and mix until the butter is melted and the mixture is smooth (note: I do this right in the saucepan as to not dirty another dish). Transfer mixture to the prepared baking dish.
In a medium bowl, combine the brown sugar, rice flour, potato starch, xantham gum and salt. Cut in the cold butter until mixture is crumbly.
Stir in the pecans. Sprinkle this mixture evenly over the sweet potatoes.
Bake in the preheated oven until the top is turning a light golden brown and the sweet potatoes are bubbling, about 30 minutes.