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.)