Step 1In a large bowl, mix together the milk, heavy cream and creme fraiche.
Step 2In an 11-by-15-inch baking dish, place the bread, mounding it slightly in the center of the dish. Pour over the milk mixture, gently pushing the bread down into the liquid so it is evenly soaked. Wrap the dish in plastic wrap and refrigerate at least 8 hours, preferably overnight.
Step 3Heat the oven to 375 degrees. In a medium bowl, whisk together the eggs, salt, black pepper and one-fourth cup each Parmesan and Gruyere cheeses. Pour the egg mixture over the soaked bread. Dot the top with the crumbled goat cheese.
Step 4Using your hands, gently but thoroughly mix together all of the ingredients, making sure there are no pockets of unincorporated egg or cream. Don't worry if the bread breaks down. When everything is thoroughly mixed, sprinkle the remaining Parmesan and Gruyere over the top.
Step 5Cover the top of the dish with a sheet of greased foil, then place the baking dish in a larger roasting pan. Place the roasting pan in the oven, carefully pouring in enough hot water to come up the sides of the baking dish by half.
Step 6Bake the bread pudding until set when jiggled (the middle will be moist but not runny), 1 hour and 45 minutes to 2 hours. Gently remove the foil and continue to bake until the top is browned, about 15 minutes more. Cool the bread pudding completely and chill before slicing, then rewarm the slices before serving.