I have an idea but it will involve messing about with a file at root level:
As root, you need to edit the file:
/usr/share/X11/xkb/symbols/gb
Change the following keylines near the top thus:
key <AE02> { [ 2, at, twosuperior, oneeighth ] };
key <AE03> { [ 3, numbersign, threesuperior, sterling ] };
key <AC11> { [ apostrophe, quotedbl, dead_circumflex, dead_caron] };
key <TLDE> { [ grave, asciitilde, bar, notsign ] };
key <BKSL> { [ backslash, bar, bar, brokenbar ] };
Now select the British English keyboard in the control centre and reboot. The above changes will put the @, #, " and ~ back where they are on the US keyboard, but the right ALT key will work as a further shift key, so for example, ALTGR+SHIFT+3 gets you your £ sign.
If you have a right-windows key, it will also behave like a compose key, so that you can also get £ by RIGHTWIN, - , L try a few others.
You should backup the original gb file in case of issues, also keep a copy of your altered one because every time xorg is updated you might have to change the file back.