In a large bowl, whisk the eggs, milk, sugar, cinnamon, and vanilla. Add the bread cubes and stir together well. Refrigerate the mixture for 1-12 hours. I've also cooked it right away but letting the mixture soak in helps.
Spray a 6-8 quart crockpot with cooking spray. Pour bread mixture into slow cooker.
For the topping: Mix together the flour, brown sugar, butter, cinnamon, and salt using a pastry cutter or your hands until the texture of wet sand. Crumble mixture over bread in the crockpot.
Cook on low for 4 hours or on high for 2 hours. Serve warm with syrup, powdered sugar, or fruit.