The Hazz and I have several base recipes for challah. The one we've found thus far to be MOST successful in our household (Midwestern Winters can make yeast and flour do funny things).
1 1/4 c water
1 tbsp active dry or instant yeast
3 tbsp honey
3 eggs + 1 egg for wash
1/2 c neutral oil (we use canola, but vegetable is fine)
6 c bread flour
2 tsp salt
sesame or poppy seeds or cinnamon sugar for topping (optional)
Place very warm (but not hot, I usually let me faucet run for a bit) water in mixing bowl. Add yeast and honey, mixing lightly.
Add eggs and vegetable oil and mix with wood spoon.
If you have a stand mixer, add flour and salt and beat with dough hook. Remember: salt kills yeast. Don't put the salt in with the yeast. Wait until you've added some of the flour.
If the dough is not holding together as a ball, add a bit more oil or water. If the dough is very sticky, add more flour. The dough is ready when it sticks together as a ball and is not sticky to the touch when you poke your finger in (5-10 minutes of beating). Turn the ball out onto a floured work surface and punch a few times until very smooth.
Place in oiled bowl and cover in plastic wrap or a towel.
Allow to rise at least one hour, preferrably more, until dough has doubled in size. I only do one rise as a ball, but you can do more. I'm not convinced it does much to the texture but some people swear by it.
Punch down the ball in the bowl and remove. Punch out all air bubbles. Braid in your preferred method. Allow to rise 20-30 minutes. Top with an egg wash (I use the yolk and white) and sesame or poppy seeds if you like.
Enjoy! (It's always hard for us to wait for Shabbat before we dive into our challah!)