I think the approach from Eric described at: The Order of Fields in Edit Mode - #2 by EricShulman is even better.
If the {$:/config/fieldSortOrder} tiddler does not exist, it uses the default sort by title approach. Otherwise the config tiddler will be active.
<$list filter="[all[current]fields[]] +[sort[title]sortby{$:/config/fieldSortOrder}]" variable="currentField" storyview="pop">