In a large bowl, combine flour, sugar and salt. Dissolve the yeast in a measuring cup filled with the warmed milk, then stir milk mixture, vegetable oil, vanilla extract and egg into the flour mixture. Mix well, until very smooth. Pour into prepared pan and let rest for 15 minutes.
While the dough rests, mix together butter, brown sugar, cinnamon, pecans and cardamom in a small bowl using a fork until all the butter has been incorporated into the sugar and mixture is crumbly. Sprinkle evenly on top of rested dough and press the mixture down into the dough with your fingertips (or swirl in with a spatula.)
Place pan into a cold oven, then set the oven temperature to 350F.
Bake for about 30 minutes, until bread is lightly browned at the edges and the center of the bread springs back when lightly pressed. Some of the sugar mixture on top may still be bubbling.
Cool for at least 30 minutes before whisking the powdered sugar and milk together to form an icing and drizzling it onto the bread.
Serve warm. Leftovers can be reheated in the microwave.