Personally I find a good swim to be much harder

:
You may not be pushing yourself hard enough on the elliptical. This is a common mistake that many people make. They get on the
exercise bike or the elliptical and go at an easy pace that is lacking in effort and intensity. The problem is, this doesn't really provide a good cardiovascular workout and it defenitely doesn't burn all that many calories in an efficient manner.
If it is easy and you are hardly short of breath at the end, you aren't working hard enough. Either start pushing yourself harder on the elliptical or start jogging/swimming. I'm not sure if your asthma will interfere, you will probably want to talk to a doctor about that.
As far as running goes, stay hydrated, keep your breathing controlled. Don't gasp big gulps of air. Breath steadily in through your nose and steadily out through your nose or mouth. Learn to keep an intense pace that you can hold for the desired amount of time. Push yourself and learn your limits, and session by session push past those limits to create new ones. Go a little farther, go a little faster. Sooner or later those little steps add up.
Most importantly, know the good pain from the bad. There is a difference between pushing your body a little bit farther and running yourself into heat stroke. If you feel sick or injured in any way, you have to know to stop.