I would recommend Mach V and Funktion. They both cost $$ but the quality is top notch. It has been hard for me to get an appointment at Mach V these days as they are very busy so you have to have patience. I had taken my STi and my bimmers there and never had a problem.
Current: 2003 E46 M3, 2004 E46 M3, 2015 F30 335i, 2015 F80 M3