The recipe I have says you can prepare the batter ahead of time (even so far as to keep it in the refrigerator overnight) but you MUST heat the oil (or lard or pan drippings) in the pans before you spoon in the pudding batter.
Perhaps that's where you're going wrong?
Here's the recipe I have (it's out of a British comfort food cookbook):
2/3 cup water
2/3 cup milk
1 cup all purpose flour
pinch of salt
2 eggs, beaten
4 Tablespoons lard, melted (you may substitute pan drippings or sunflower oil)
Since Yorkshire Pudding is usually an accompaniment to roast beef, the recipe suggests you make the puddings as soon as the beef goes into the oven.
Stir the water into the milk.
Sift the flour and salt together into a bowl. Make a well in the middle of the dry ingredients and gradually whisk in the eggs, followed by the milk mixture, to make a smooth batter.
Cover and leave to stand for about one hour.
Divide the melted lard among 10 individual Yorkshire Pudding pans (or 16 large muffin tins) and heat in a 350 degree Fahrenheit oven for about 5 minutes.
Spoon the pudding batter into the hot fat in the tins and bake for 20 to 30 minutes, or until puddings have risen and are firm and golden brown. Larger puddings will take longer than those in muffin tins.