I've had good luck in the past with Dr. Colorchip. Then I found about
Langka Blob Eliminator. Langka is the same concept as Dr Colorchip - you overfill the chip with the paint, let it dry for a couple hours or so, and then use the thinning solution to remove the top layer until the paint in the chip is level with the original paint.
I prefer Langka now because you use the OEM paint, but Dr Colorchip matches the color pretty much the same, and is essentially the same thing.
Mine is Alpine White so it's easier to match than a metallic (I think). The official BMW touch up paint (Part Number 51-91-0-301-918 for white) includes a bottle of paint and a bottle of clearcoat.
I recently fixed a tiny chip on the hood of mine by using a 000 artist paint brush, waiting 2 hours, smoothing it slightly below level with the thinning solution, waiting a day, applying clearcoat with the same brush, waiting a couple hours, and then finally smoothed it with the thinning solution until it was level. Wait another couple days and thoroughly clean it with something like Meguiar's ScratchX, and then apply your wax or SiO2 ceramic coating.
It's never going to be perfect, but you get better as you get experience, and if you mess it up, the thinning solution will completely remove it, even a day or two later. I have trouble seeing the old chip at all now, unless I get a foot or so from the hood and look for it.