I hope v3.0 improves upon the tedious and vague process of using the native User Profile Extended Fields.
I agree completely, although it's not all that complicated. It's just horrible for searching and sorting.
You can think of the extended field as a PHP associative array. It's stored as a JSON string in the DB (that's why it's so useless for searching and sorting), but it's automatically converted to an associative array when you get it with $profile->get(), and automatically converted to a JSON string when you call $profile->set().
Another failing is that when you add a new extended field for a user in the Manager, it doesn't add that field for other users. You have to go through the process for each user (or use a utility snippet to update all of them).