Move the NTFS partitions, one at a time, toward the end of the drive. Let gparted complete each operation seperately. When you're done you should have all the NTFS partitions stacked at the back end of the drive but without having to change their UUID and sda#. Moving the 160G partition will take awhile, but just be patient, make sure the power doesn't fail and the drive is securely connected and won't get bumped during the operation, and let it do its thing. Then you can simply expand the ext4 partition into the newly available space ahead of the NTFS partitions.
Gparted is the only partition editor I've ever used that has successfully moved NTFS partitions on a drive without breaking a Windows install. I'm convinced it's the best out there, I always keep a live image of it around. It's an essential tool. I've done this exact thing to rearrange partitions on a dual-boot system, though it was a significantly smaller drive.
*edit: this is an external SSD, so do you actually boot from it? If not and you just want to keep the data on the Windows partition, you can just delete the other smaller NTFS partitions.
You can definitely just delete the linux-swap and create a new one wherever it's convenient.