Thanks guys. It's only set up for 3 items to search for, but with a little more thought it could work off the lendth of the list and thus be limitless; however I didn't see too much of a need to do more than 3 replacements. The cool thing is you can use an item more than once.
Example:
(str-format "This is %3 for %2, %1, %2, %1, %2 or %1." '("our" "them" "not"))
"This is not for them, our, them, our, them or our."