I recently wrote a Journal to search through the current work part for the Parts List, add a column for the Layer Number, sort by that column, update, then delete that column.
It worked for a while, but I've started running into issues with some assemblies where the journal does not run...