you can replace just the top armrest part. I just did it this week.
Was 169 dollars. I removed the door panel to replace it. But on my e92 (08 335), I could have just pullled straight up on it and it would have come off. Just clips holding it in.
If I ever have to replace it again... I wont remove the entire door panel. I will just pull up on it till it releases.
Go to your dealer and they can order it for you. My car was black so they had it in stock. They actually had 6. Apparently they are replaced often.