In a small bowl, combine the warm water, yeast, and a pinch of sugar. Stir gently and let it sit for about 5-10 minutes until frothy.
In a separate bowl, beat together 3 eggs, vegetable oil, and the remaining sugar.
In a large mixing bowl or the bowl of your mixer, combine 4 cups of flour and salt. Create a well in the middle of the flour mixture and pour in the yeast mixture followed by the egg mixture. Stir until a dough forms. Turn the dough onto a floured surface and knead for about 10 minutes, adding additional flour as needed to prevent sticking. The dough should be smooth and elastic when it's ready. You can also mix this in your mixer for about 5 to 10 minutes until the dough comes clean from the sides of the bowl.
Place the kneaded dough in a lightly oiled bowl, covering it with a damp cloth or plastic wrap. Let it rise in a warm, draft-free spot until it has doubled in size, about 1.5 to 2 hours.
Once the dough has risen, punch it down gently. Divide the dough into as many strands as you want for your braid (a traditional challah uses 3, 4, or 6).
Roll each portion of dough into long, even ropes. Line them up side by side, pinch the ends together at the top, and braid the strands. Pinch the ends to seal when you reach the bottom.
Place the braided dough on a parchment-lined baking sheet. Cover it loosely and let it rise for 30-45 minutes, or until puffy.
While the dough is going through its second rise, preheat your oven to 375°F (190°C).
Brush the risen dough with the beaten egg wash. If you’re using poppy or sesame seeds, sprinkle them on now.
Place the challah in the preheated oven and bake for 25-30 minutes, or until it's golden brown and sounds hollow when tapped on the bottom.
Allow the challah to cool on a wire rack before slicing.