When I bought my E46 325i, the gearbox was knocking whenever it downshifted from third gear to second (for example when I was approaching the toll plazas). Later it got so bad it even jerked when I shifted the gear stick from N to D or to R when driving off.
I consulted many so called BMW specialists (some even recommended in this forum) and a handful gearbox specialists, all except one (who was in his 50's), told me that my gb needed overhaul. Luckily someone recommended me a sifu (who also happened to be in his 50's! Think these old timers are gems!). After going with me for a test drive (me driving) he straight away concluded confidently that there was nothing wrong with my gb but instead the gb's valve body needed cleaning/servicing and maybe also check out the solenoid valves to see if any had spoilt. Unfortunately, as he 'only' owns a small workshop and due to manpower problem (as his only worker had just resigned) he told me he was unable to take on the job.
I then went back to one of the gearbox specialists I consulted earlier and asked them to do just what the sifu recommended. Initially they were reluctant to do it. I guess maybe because there was not much money to be had. However, due to my insistence, they reluctantly agreed to take on the job on the condition that should the gb still knocked that I would not blame them.
Luck was with me that day as they happened to have the same valve body, which was already serviced, lying around, so they just swapped it with mine. In the process, they also changed the transmission oil, transmission oil filter and pan gasket for me. By my own estimate, the whole job could have been done in just a few hours but because there were other cars they also had to attend to, it took them from 10am to 7pm to finish.
During the initial diagnostics via OBD II, it was also found that, as expected, my transmission oil temperature was very high, in the 130+ degree in fact! According to them the ideal temperature should be around 90-110 degree, if i remember correctly. Thus I agreed to their recommendation to have the transmission oil cooler modified by adding a BMW E36's oil cooler in front of the radiator and sealed off my E46 oil cooler's oil chamber (but leaving the water still flowing through it.)
Now my car drives like a hot-blooded UDM! I do not have to worry about the gearbox knocking or transmission oil temperature going up anymore. For all these, I 'only' spent about rm1700 (of which rm600 was for the oil cooler modification, inclusive of an secondhand E36's oil cooler) instead of thousands of ringgit all the BMW 'specialists' wanted to charge me. Phew!!!