In a large bowl, whisk warm water, sugar, and yeast. Let sit for 5 minutes until foamy.
Stir in egg and oil. Add flour and salt, mixing until dough comes together.
Knead dough on a floured surface for 6-8 minutes until smooth and elastic.
Place dough in a greased bowl, cover, and let rise 1 hour until doubled in size.
Punch dough down and divide into 12 equal pieces. Shape into balls and place on a baking sheet.
Cover loosely and let rise another 30 minutes.
Brush tops with beaten egg and sprinkle sesame seeds if using.
Bake at 375°F (190°C) for 18-20 minutes until golden brown.
Cool slightly before slicing or serving.