May the first be with you
JavaScript (ES6), 93 88 bytes
f=
s=>s.replace(/force|first/gi,s=>s.replace(/./g,c=>s[s.search(c)^1]||c,s="oicsetOICSET"))
<textarea oninput=o.textContent=f(this.value)></textarea><pre id=o>
Edit: Saved 5 bytes by optimising the unchanged letter case.
Retina, 33 bytes
iT`\OC\E\ocetsiTSI`Ro`first|force
Try it online!
Edit: Saved 5 bytes thanks to @MartinEnder for pointing out what Ro
does.
APL (Dyalog), 61 bytes
Requires ⎕IO←0
which is default on many systems. Can be four characters shorter using the Unicode symbol ⍠
instead of ⎕OPT
.
(t←'force' 'first')⎕R{(m∊⎕A)c¨t⊃⍨~t⍳(c←819⌶)⊂m←⍵.Match}⎕OPT 1
Try it online!