The file "/proc/###/smaps" has all sorts of useful information about memory usage of individual processes, including swap space. It's way more detail than you're looking for but you can extract what you need and ignore the rest.
The only confusing part is that it breaks down memory usage by address segments so you can't just "grep" for "Swap:", sort the output and find the process with the most swap.
But this line:
grep 'Swap:' /proc/[0-9]*/smaps | gawk '$2 > 0'
will give you a raw dump of process id's with allocated swap space. The filename will identify the process. And if you sum up all the per-segment values for each process you'll have the total swap allocated for that process.
That could generate lots of lines of output though, depending on the number of processes running on the system, how much swap they have allocated and how that swap space is allocated to distinct memory segments within those processes. So some secondary parsing to find the interesting data will probably be necessary.
If you're up for installing some Python code to parse the data in /proc, you can clone the repository I published on Github here.
https://github.com/cnamejj/PyProc
It won't help you find the process with the most swap with a single command line, but it will give ways to write scripts to pull data from the "smaps" file easier. There's a script included in the repo called "watch-process-smaps" which you could use to monitoring the memory allocations for one or more processes in near-realtime too. But that script itself will consume CPU and memory, so it's really just for diagnostic use IMO.
Finally, as
dluk said there's nothing inherently evil about seeing some swapping. If the system doesn't have enough RAM to handle the workload it gets without slowing down, then that swapping would be a bad thing. Understanding the system in more detail is always a good thing though, since you might find a potential memory related problem before it causes noticeable performance issues.
Also, if your system runs into trouble with the available memory and starts swapping things out, the process with the most swap might not be the real problem in all cases. If you have some well behaved process that uses lots of RAM by design, but isn't CPU bound, then other more CPU-centric processes might wind up pushing the well-behaved processes memory to swap over time. So the process(es) that are out of control might be in memory and the well behaved ones might be swapped out.