In a large bowl, whisk together flour, yeast, sugar, and salt.
In a small saucepan, heat butter and milk until butter has just melted. Remove from heat to cool slightly.
In a medium bowl, whisk together warm water and one egg. Whisk in warm milk and butter mixture until combined. Pour over flour mixture and stir with a wooden spoon or rubber spatula until no dry flour remains and you have a shaggy, sticky dough. Tightly cover bowl with a lid or plastic wrap and let stand in a warm place for 2 to 4 hours until dough is bubbly and has doubled in size. Or tightly cover and chill for 12 to 24 hours to rise slowly in the refrigerator (My preferred way, for the best flavor and texture).
Line the long edges of a 9" x 13" baking dish with enough parchment paper to overhang the edges to create 'handles' for easy removal. Butter ends of dish to prevent sticking.
Turn risen dough out onto a lightly floured work surface and with lightly floured hands, gather dough into a ball, then pat into a 1-inch thick rectangle. With a sharp knife or dough scraper, divide dough into 12 equal pieces (use a kitchen scale for perfectly even rolls). Gently tuck corners and edges underneath to form a round. Turn over to pinch edges together, then place on work surface smooth side up. Use your palm to gently roll in a circular motion to form a ball. Repeat with remaining dough portions, placing them 1-inch apart in prepared baking dish, making 4 rows of 3 rolls each. Cover loosely with a clean kitchen towel and let rise until rolls are puffy and light to the touch, about 1 hour or up to 2 hours if dough is straight from the refrigerator.
When ready to bake, preheat oven to 400˚F.
Whisk together remaining egg with 1 tablespoon water and brush over rolls with a pastry brush. Bake 13-15 minutes or until tops are golden brown, rotating baking dish halfway through baking time. Rolls are best served warm.
Video
Notes
To substitute active dry yeast for instant yeast, increase the amount to 2 teaspoons. In step 3 of the recipe, whisk a teaspoon of sugar into the warm water and sprinkle yeast over the top. Let stand 5-10 minutes until yeast is foamy. Whisk in egg and slightly cooled butter and milk mixture. Add this yeast mixture to dry ingredients and proceed with recipe.
If using unsalted butter, increase kosher salt by a scant 1/8 teaspoon.
If your room temperature isn't warm enough for the dough to rise, use this tip from Cooks Illustrated magazine to create a proofing oven: place the dough in the covered bowl on the middle shelf of your oven and a loaf or cake pan filled with 3 cups of boiling water on the bottom shelf. Close the oven door and you've created a great atmosphere for the dough to rise.
To freeze unused rolls, allow them to cool completely and transfer to a freezer safe bag or container. Thaw in the bag at room temperature. Use within 2 months.
Reheat rolls wrapped in foil and placed on a baking sheet in a 350˚F oven for 10-12 minutes.
If scaling the recipe (2x, 4x), note that you'll need to reference the number of eggs in the ingredient list for step 3 of the recipe as the quantity is text and won't change. One egg for the egg wash will likely still be enough if you double the recipe, but you may need a second egg if you make a larger quantity.