Spray a 13x9 baking dish with non-stick cooking spray or butter liberally. Add bread cubes to baking dish and distribute evenly.
In a large bowl, whisk together eggs, milk, half and half, sugar, vanilla, cinnamon and pinch of salt. Pour over bread cubes. Press bread cubes into the baking dish to make sure they absorb custard. Cover baking dish tightly with plastic wrap and refrigerate overnight.
In a small bowl, mix together ingredients for the streusel topping being sure to break up butter into small pieces. Cover tightly with plastic wrap and refrigerate overnight.
When ready to bake, preheat oven to 350º F. Remove baking dish and streusel topping from the refrigerator. Sprinkle streusel topping liberally over the top of the French toast. Bake 45 minutes. Remove from the oven and allow to rest for about 3 minutes before serving. Dust with confectioner's sugar, if using, and serve with maple syrup.
Notes
Prep time does not include time for the custard to rest overnight in the refrigerator prior to baking.