Your problem appears to be in the wall switch. The contacts or terminals in the switch might be worn through age and use. You give me the impression that you operate the switch every time you have a shower, which will wear out the contacts in the switch. It has to be worth buying a new switch before buying a new shower.
