If your BMW has the ign switch similar to th E38 then it is oxide on the contacts. Remove the electrical part of the switch - drown it in switch cleaner while working the switch over its operating range - dry - refit. Problems should be gone
Good - Fast - Cheap: Pick any two.
E23 735i; E32 735iL (X 2 - 1 Alpine White and 1 Glacier Blue); E34 535i; E38 735iL; R50 Cooper; R55 Cooper Clubman.
E21 318i; E30 318i; E32 735iL; E34 535i; E38 730iL; E53 4.4i