Are swaps needed in order to hold positions in currency futures overnight the same way they are needed in forex spot trading?
No, and that's basically the definition of the difference between futures and spots: futures expire only a few times per year (say, monthly or every three months), whereas spots expire daily.
If you want to hold a spot position indefinitely, you have to swap it each day for a similar spot instrument with the next expiration date. This is typically "cheap" because forex markets are only closed for a few minutes between day D and day D+1, so there are lots of market makers out there who are willing to bet that 1,000,000 EUR will be worth essentially the same amount at 17:30 ET as at 18:00 ET.
On the other hand, if you want to hold a future indefinitely -- well, that's pretty much what they're there for. You don't have to do anything special with it on a daily basis. Only when you near the expiry date do you need to roll it over to the next expiry date (assuming you want to continue holding it). This can be more expensive than the swap described above: if you try to swap too soon (before there's enough liquidity in the new instrument) then you might get a bad price in the new instrument; if you try to swap too late (after the liquidity in the old instrument has dried up) then you might get a bad price in the old instrument.
Of course, if you know well in advance that you're going to want to hold a currency future for, say, a year, then you could just purchase a future that expires a year from now and not have to deal with all those swaps along the way. Of course, you might run into a magnified version of the problem directly above: there might not be much liquidity right now in a future that expires a year from now, so you might get a bad price.