Saute onion, basil, and oregano in butter in a skillet over medium heat until onion is tender. Set aside. Combine 2 cups flour and yeast; stir. Add milk to flour mixture, beating at low speed of an electric mixer. Beat 2 minutes at medium speed. Add onion mixture, cheese, sugar, and salt. Stir in enough of the remaining 4 cups flour to make a soft dough.
Sprinkle 2 tablespoons flour over work surface. Turn dough out; knead until smooth and elastic. Place in a greased bowl, turning to grease top. Cover and let rise in a warm place (85°), free from drafts, 30 minutes or until doubled.
Punch dough down; divide in half. Divide each half into 3 equal portions. Roll each portion into a 16-inch rope. Braid 3 ropes together on a greased baking sheet, pinching ends to seal; tuck ends under. Repeat procedure with remaining ropes.
Cover and let rise in a warm place, free from drafts, 20 minutes or until doubled. Combine egg and water; brush over loaves. Bake at 350° for 35 minutes or until loaves sound hollow when tapped. (Cover with aluminum foil the last 15 minutes of baking to prevent over-browning, if necessary.)