Coat a 9"x13" pan with cooking spray.
Place the bread cubes in an even layer in the pan.
In a large bowl, whisk together the eggs, milk, cream, sugar, vanilla extract and cinnamon.
Pour the egg mixture over the bread cubes. Cover and refrigerate for at least 2 hours or over night.
Place the flour, brown sugar, cinnamon and salt in a large bowl. Stir to combine.
Add the butter to the bowl. Use a pastry blender or two forks to cut the butter into the flour mixture until coarse crumbs form.
Refrigerate the streusel mixture until you're ready to use it.
Preheat the oven to 350 degrees F. Sprinkle the streusel mixture over the french toast.
Bake for 50-60 minutes until casserole is browned and cooked through. If the casserole looks like it's browning too quickly before the bake time is over, cover it with foil.
Cool for 10 minutes, then cut into squares. Serve with maple syrup and fruit if desired.