You really have to treat these things like the mini computers that they are, which means that they need occasional "maintenance".
-Close all of your apps, then hard reset your phone. I heard somewhere that if you hard reset the phone twice in a row it will really speed up. I'm unclear as to why, but I thought I'd pass it along.
-Clear "cache" and "history" in Safari settings (note: I don't ever clear the cookies, because then I lose all my passwords and login info)
-The more stuff you have on the iPhone, the slower it will run. The memory has many more things to account for. If you are able, free up space by getting rid of unused apps, un-listened-to music, and old photos and videos. They are just sitting there anyway.
-If you never use the Search feature, turn it off.
-I have an app called "System Activity Monitor" that frees up any available memory every time I run it. It basically does the same thing as restarting the phone without actually restarting it.
-If all else fails, try restoring the phone, and if that doesn't work, then make sure everything is backed up, and wipe it clean so you can set it up as a new phone.
All of these things are variations on what you can or should do with your daily use computer, so it's not like this is new territory. If you want all of the features and useability of a device like an iPhone, you have to put up with periodic maintenance and cleaning.
I hope this helps someone!