Just go to any garage and ask them to fit your own tyres? I've looked at companies that supply & fit tyres but the cheapest option by far is to buy my own.
There's an indy 4x4 specialist around the corner from me, im sure they'd do it on a 3-series?
Don't try the big chains, places like kwikfit will likely tell you to sod off, or try and charge you £££.
Most independent fitters will do the work for you, £10/tyre seems to be the target many reach, I often hear from £8 - £15 a tyre as the going range of rates.
I got mine fitted by the Seat main dealer that I bought my car from. £20.60 for two tyres fitted, disposal of the old, wash inside and out and a cup of tea in a nice waiting area!
National Tyres charge me £10 a corner to change my tyres over to winters. They also store my summer tyres for free until they're needed, which is rather nice of them.
I had two tyres delivered last week, then took them to my mates garage and gave him a tenner for the use of his machine, some new valves and to balance em.
I've got a guy who does a set of four for £30 cash but he's about a 20 minute drive away..
The last pair I had done I went to the local wheel-refurbers for a tenner each.. that's about 2 minutes away so much more convinient! Also have the added bonus of them not getting damaged..