For the sponge starter: Add the sugar and yeast to the warm water. Mix to dissolve. Add about 1/2 cup of the bread flour and mix vigorously with a wire whisk. The mixture should look like a thick pancake batter. Cover with plastic or a plate and leave to ferment in a warm room temperature place for about an hour. This sponge will give the challah a rich flavor and will extend its shelf life.
Add the remaining 1 1/2 cups bread flour, the semolina flour and salt into a mixer bowl. Add the sponge starter, oil, honey, yolks and egg. Mix on low speed with the dough hook until the ingredients seem to come together. Then switch to medium speed and knead to develop the gluten, 5 to 7 minutes. The dough should be smooth and satiny, and have a nice stretch.
Shape the dough into a ball and place it back in the mixer bowl. Sprinkle a bit of olive oil and turn the dough so it's lightly coated. Cover with plastic or a plate and let rise in a warm area until doubled, about 1 1/2 hours. To test, lightly poke a finger in the dough. It should be relaxed and not pull back to shape immediately.
Turn the dough onto a lightly floured counter and fold it over upon itself few times to redistribute the yeast. If using, sprinkle the raisins onto the dough and press them into it.
Divide into desired number of braids (3, 4 or 6) and roll each braid to elongate. Braid the strands to a long loaf or a round shape and place on a baking tray lined with parchment paper. Brush the braided loaf with the egg wash and let rise until doubled in size, about 1 1/2 hours.
Preheat the oven to 450 degrees F as the challah rises.
Reapply the egg wash and, if using, sprinkle the seeds before placing the tray with the challah in the oven. Lower the oven temperature to 350 degrees F and bake until golden, 30 to 35 minutes. The challah will develop a deep brown and shiny crust, and will sound hollow when tapped on the underside. Cool on a rack.