Here is the implementation sample of drag and drop grid columns sorting through the applyLayout method call.
Also this demo demonstrates an option of an integration with some external components.
And here is being used
angular-dnd component to provide
columns drag and drop functionality.