Sennheiser Evolution ew-100 g3. It is a bit expensive, but it is worth it.
For screencast videos, I also use a USB microphone called Blue Snowflake, but I don’t recommend it either: it’s very fragile and cannot be carried without ending up damaged. Besides that, the sound is too low. Worst buy ever.
I’ve been using an external mic as well. Anyone will do. In my case, I’ve found Sony IDC-SX712 but any other (ZOOM, Olympus for example) would do the trick.