>Setup new servers
>Deactivate licenses on 'old' NPM and SAM with license manager
>Install NPM and then SAM on new server
>Activate with correct license and connect to same database
>Monitor network like usual
Generally this works with no problems. Keep the old servers running just in case you need to roll back. Most, if not all, custom settings are in the database. I know those directions are pretty general but if you need more clarification on any steps just let me know.