In a small saucepan set over medium low heat, warm the butter, honey and milk until butter is melted and mixture begins to steam. Do not boil. Remove from heat and let sit 5 minutes, or until the temperature is between 120-130°F.
In the bowl of a stand mixer fitted with a dough hook, combine 1 1/2 cups of the flour with the yeast and salt. Add the milk mixture and mix until combined. Add the eggs one at a time, mixing after each.
With the mixer on low, add the remaining flour 1/4 cup at a time until dough clears the side of the bowl but is still slightly sticky to the touch. You may not need all 3 1/2 cups of flour.
Continue to knead the dough in the mixer until it is smooth and elastic, about 5-8 minutes. Place dough in a greased bowl, cover with plastic wrap, and let rise in a warm place until doubled, about 1 hour.
Gently punch down dough and knead a few times. Cover it with the plastic wrap and let it rest for 15 minutes.
On a clean surface roll the dough out into a 12-inch circle. Using a pizza slicer, cut the dough into 12 equal pieces. Working with each piece individually, roll the dough up starting with the fat end.
Place the roll on a sheet pan lined with parchment paper so the skinny point is on the bottom. Cover with plastic wrap and rise again for 30 minutes. Meanwhile, preheat the oven to 375°F.
Brush with egg wash and bake rolls until they are golden brown, about 20 minutes. Remove from the oven and immediately brush with butter, if desired.
The rolls are best the day they are made but will keep in an airtight container at room temperature for up to 3 days.