I've always been fairly happy with the approach taken in Outlook, although I acknowledge I may not be a typical user. And I got over the pain of learning it years ago.
I'll also admit that it's far from perfect; getting to the option requires a bit of digging, as it's not immediately visible in the UI; and it used to be almost WYSIWYG, but more recent rebrands out Outlook have broken that.
Regardless... right-click on any column to display the context menu:
In the Field Chooser, select which fields you'd like to choose from (the combo box therein) and then drag the column header to its desired position in the table:
Really, it's the dragging-the-column-header-into-the-table bit that I like. That and the way it avoids information overload by categorising its fields. And the red arrows that show you're in a valid area to drop the column header.
Not so much the way you activate the Field Chooser, or the fact that it's a popup - I might prefer an expanding panel above the column headers. It would also be better if the visual representation of the fields (in the Field Chooser) matched their appearance when in the table (it used to in earlier versions of Outlook); add a single line of instructional text to explain the need to drag into the column headers and it might be usable.
Still, once learnt, it's really simple to use.