Heat the milk, butter, and powdered sugar in a saucepan. Then cool until just a bit warmer than lukewarm.
Pour the milk mixture into a mixing bowl and add the cardamom and yeast. Stir until dissolved and then slowly add the flour. You may need more or less flour. Add enough so that you can knead the dough into a nice ball without being too sticky. Knead for about 10 minutes, then cover and let rise until double in size (about an hour).
Mix together the butter, sugar and cinnamon. If the butter is still hard you can pop it in the microwave for a few seconds so it's easy to spread.
Roll out the dough into a large square. Spread the cinnamon butter mixture across all of the square, leaving a few centimeters (couple of inches) at the top of the square.
Roll the rectangle from the bottom up into a long cylinder. Use a knife to cut thick (1 - 2 inch) slices out of the cylinder. This should make about 18 - 20 buns. Set the buns spaced apart on baking sheets (I use two pans) and cover with a cloth. Let the buns rise again for 30 minutes.
Preheat oven to 445°F (230°C). Whisk together egg and a splash of milk. Carefully brush each bun with the egg wash. Bake cinnamon rolls for 10 - 12 minutes, until golden brown. Be careful not to over bake (I bake mine for 10 minutes).