I have a working Swift toolchain for Nintendo Switch (targeting libnx) using swift-embedded as a base. It works but it's a giant hack / requires its custom SPM fork / frontend script etc... The biggest hack is that I shoehorned newlib into clang and called it a toolchain.
Everything in the language itself works but without Foundation you are obviously quite limited. Libnx works out of the box thanks to the great C integration Swift has. I even tried nanovg for hardware accelerated vector graphics, and it works great.
I never bothered to port libdispatch and Foundation so I never took the time to cleanup the port and release it. I can share it here if you want, as a base for your own research or if you want to continue from what I did. I don't want to discourage you, I know the fun is to make it yourself!