I just got my 325i and the horn does not work either. In the process of fixing other things(Gauges) I pulled the steering wheel off and noticed the horn contact is bad. It is supposed to have a spring in it to keep contact with the horn switch.
I'm too new to know if I can list the supplier. the part online is called a horn contact. You should check it out. Pretty easy to get to but I am not sure how to replace it yet. Cost was right at $8.