You can register domain names directly with Nominet, but they charge a lot more (£80 / year), see this page here : https://secure.nominet.org.uk/flows/register-domain.html
The pricing for most hosting companies within the UK for domains is similar. If you are happy with 123 Reg to manage your domain names, then moving for price is not likely going to give you any further advantages. If you are unhappy with 123 Reg, then please email me directly and I will see if I can address your concerns (richard.winslow@123-reg.co.uk).