An immersion heater will not keep up with a power shower. Immersions are normally either 2.5kW or 3kW. You can get larger ones, but they cost a lot to run and normally burn out frequently. Your electricity bill must be quite high running on immersion heating. It is the equivalent of boiling the kettle continously and that's the most expensive way of heating water. Immersion 3kW = Kettle 3kW!
Depending on the size of the pump, a power shower could be delivering anywhere from 9 litres to 15 litres per minute. So say it's 10 litres per minute, that would be 10 litres x your 20 minute shower = 200 litres. Approx 40% of this will have come from your cold, so you will have used approx 120 litres of hot water. You will have emptied a standard 30 gallon copper cylinder before you finish your shower.
Your only option is to heat the whole of the cylinder with your primary heating, i.e. oil or gas boiler and/or install a bigger cylinder. That way you are heating the whole of the tank. It will heat much quicker than an immersion heater. Cheaper too.
Also take shorter showers!