It didn't like the + symbols and had to do other things to get the ^ to agree with the program
So the "+" symbols should be unnecessary when making a tokenlist for a seed phrase as opposed to a tokenlist for a password or passphrase. The "+" symbols denote that btcrecover must include that line somewhere in the password, but since we are attempting to descramble a 12 word seed with a 12 line tokenlist, then it will automatically use one entry from each line anyway.
The "^x^" symbols denote that whatever follows should be attempted in that position. Since we know Word1 appears at position 1, then "^1^Word1" on the first line of my example does just that. Since we aren't sure if words 7 and 8 are swapped, then the line "^7^Word7 ^8^Word7" says to either try Word7 in position 7 or position 8. The last three lines without a "^x^" can be attempted anywhere in the seed phrase, but given that every other position is accounted for, the only places left for them to be tried are in positions 3, 4, 5, or 6, depending on the position of Word3.
I didn't know I was supposed to throw in 3 lines of the seed word list at the bottom of the token and that would have been one major issue on the many others I came up against.
So when creating a tokenlist for a 12 word seed, you should have 12 lines in it. btcrecover will try exactly one entry from each line. The bottom lines - every BIP39 word without any additional arguments - basically says "try any word anywhere it will fit".
If the 7th 8th 9th and 10th words being swapped are gonna make this a bigger mess, Ill confirm further what I got for at least 9 and 10. The one word I do know is likely the 3rd spot. I have an idea what the other words are. Altogether I'm really only unsure about 2 words and their positions.
If that's the case, then you might be better off just making a tokenlist file with only two unknowns and running it. If it doesn't return the answer, you could manually swap words 7/8, or 9/10, or move word 3, or whatever, in your tokenlist and run it again. There are also other programs, like the one mentioned above (I have never used it though so cannot vouch for it) or
The FinderOuter which are potentially easier to use for this simplified case.