At low levels the best rotation is blizzard*m > (thunder) > transpose > fire*n > transpose repeat. M is the time it takes for transpose to be available. N is until you no longer have enough mp for a fire spell.

If fighting multiple mobs and you don't have fire 2 yet then blizzard and then thunder lowest priority targets then jump into the above rotation.

If you are fighting more than three mobs and you trust the tank to hold aoe hate use fire 2 and blizzard 2 respectively.

At 30 when you get thundercloud thunder becomes more prominent atleast in single target rotations. Use thunder 1 if you ever have to hard cast then use thunder 2 for procs. When you learn fire 3 you no longer need to use transpose to change from umbral to astral stacks. When you learn blizzard 3 the same is true in reverse.

The rotation after you have fire and blizzard 3 is open to a bit more interpretation but essentially it should look like this: blizz3 > thunder > fire3*n > repeat. Use thunder cloud procs as they come up, always using your highest available thunder spell when thundercloud happens. When you learn fire starter use those procs as they happen as well.

There are a couple of very helpful threads about rotations at 50 but these should help you be an efficient damage dealer til you get there.

Some helpful info, the first stack of astral fire increases damage from fire spells by 40%. The next two increase it by 20% each. When you have three stacks of either umbral ice or astral fire the next spell you cast of the opposing element will have half the cast time (but also severely reduced damage.)

Thunder spells have the highest total unmodified potency but that only counts if they are allowed to tick for their full duration OR if they are paired with a thundercloud proc.