A few pointers (disclaimer : this is how I do things, others do things differently, find out what works best for you).
1. I split my panzer units in two "pools". 1 for attacking soft targets(Pz IVs) and one for attacking hard targets (Pz IIIs).
I then figure out what units I will be up against, and send my anti-hard panzers against enemy heavy tanks etc. The soft target panzers are still attacking hard targets, but not as the first attacker, they are spent on destroying weakened enemy heavy targets or attack soft targets in the open (here they are often the first attacker).
2. If a target is extremly difficult to take out, I will move units close to it first, and then attack after I have three or so units close to the target (to give it penalties for flanking).
3. Entrenched infantry/AT guns are where my engineers earn their money.
4. Before attacking a peticulary difficult enemy, I will attack with aerial units and artillery before making the attack on the ground. This usually weakens the enemy by killing some points, then softening it up by leaving supressed troops. If possible I will attack by two aerial units per trun (this means you need to have an aerial unit above the enemy the turn before you intend to launch the attack). Level bombers are quite useful when they gain some experience, as these guys tend to leave alot of the enemy unit supressed.
5. If a unit is down to 1-3 in strength, I tend to pull it back from the front and leave it untill the scenario is over and not rebuild its strength untill inbetween two scenarios. This saves alot of prestige points as reinforcements are cheaper when not on the map. Just make sure you do not pull too many units back as you need to keep pushing.
6. A TD is a good buy as it gains experience. These guys tends to have heavier guns than the tanks of the same time, making them effective against enemy heavy tanks (be warned, they are quite vulnerable on their own!).
"Hun skal torpederes!" - Birger Eriksen
("She is to be torpedoed!")