In a large bowl or the bowl of a stand mixer, combine the flour, yeast and salt.
In a small microwave safe bowl (or glass measuring cup), combine the sugar, butter, water and milk. Heat in the microwave until the mixture is hot and the butter is almost melted (it took about 1 minute on HIGH in my microwave). Let the mixture come down to 120 degrees. Gradually add the milk mixture into the flour mixture. Add the egg and mix until a soft and sticky dough forms.
Preheat the oven to 200 degrees F. Lightly grease a 9x13 baking dish.
If using a stand mixer, switch to the dough hook and set on the lowest mixing setting for 4 minutes or until the dough becomes elastic or knead by hand on a lightly floured surface for 3-4 minutes. Cover the dough with plastic wrap and allow it to rest on the counter for 10 minutes.
Once the dough has rested, roll it out on a lightly floured surface until it measures a 24x16 inch rectangle. Prepare the filling by combining all of the ingredients in a small mixing bowl except for the butter. Spread the butter over the top of the rolled dough, then cover with the filling. Using a pizza roller/cutter, to cut the long rectangle in half, and then each half into twelve pieces to make 24 strips. Roll each up into a tight roll.
Place the rolls into the prepared baking dish and gently place a piece of aluminum foil over top. Turn OFF your oven and place the covered rolls inside to rise for 45 minutes.
Remove the rolls from the oven and turn ON your oven to 375 degrees F. Once heated, remove the foil and bake the rolls for 16-22 minutes or until the centers are lightly golden brown in color.
Remove from the oven and allow to cool for a few minutes before frosting. While rolls are cooling, prepare the frosting by combining all of the ingredients in a small mixing bowl and beating by hand or with a hand mixer until smooth. Spread over the tops of the rolls.