If I recall correctly, a petition can only be filed with USCIS for a TN if the individual in question is already outside of the US.
Ie, if you are currently within the US on a TN, and looking to switch jobs, you can not file for a new status with USCIS; your options are either to leave the country and apply at a POE, or leave the country, and only then petition with USCIS.
Is this incorrect? Can a current TN holder petition USCIS for a new TN while still within the US?