Those types of issues respond well to a few different things.
The first of which I'd do is make sure you're not running an "advanced task killer," which can kill services meant to run, so they keep trying to restart and than are "re-killed" and a loop drains resources, slowing the device down.
Next, if you're running Weather Bug or some other background updating news or weather app/widget, go into its configuration and make sure the update intervals are not set at 15 minutes, etc. Also make sure you don't have more than one of those types of widgets set to background update (news and weather and Facebook and Gmail and Twitter, etc); that stuff can go into sync loops also, draining the battery and slowing the device down for the user.
GPS/maps running in the background, if not backed out of and stopped, will cause lag. Some users forget that backing out of any app is beneficial as opposed to just hitting the home button, which leaves the app/widget running even though it's not on the screen.
After making those changes, reboot your device.
I use a cache cleaning app called, simply, Cache Cleaner, acquired from Market. It does nothing unless I open it and have it scan caches for me manually. But I'd never use a task killer.