BMW recommends Castrol.
For the M series, a long time there was only Castrol TWS 10W60 that had BMW approval. In the last few years, the trade name changed very often (Edge, Edge RS, Formula RS and any of its permutations). For a short while, there were two formulations only one of which had approval. As of now, all 10W60 Castrol types are good to go for BMW M cars (as far as I know). There are (at least) two types, one is for retail and one for shop use. The one for retailers has a contrast medium in order to spot forgery and it is micro-filtered, but the difference is neglegible.
Since the prices of oils differ only marginally, there is no point in buying anything else than the recommended type.
However, this does not apply to the new turbo-type M cars (M5 F10, 1M) since they use the normal non-M oils (mostly 5W30 with a special BMW approval, I think).