Hi Richard,
1st repair permissions using disk utility.
load terminal up, found in app/utilities and enter the following line:
sudo periodic daily weekly monthly
It will ask for your admin password.
then reboot, it will take 2-3 reboots before it starts to speed up again, but you don't have to keep restarting the machine this is just something you might notice.
This cleans out the cache manually that programs such as Onyx does for you. If you leave your iMac on all the time (no sleep) it will run these for you after midnight sometime as it is a Unix maintanace script.
http://www.macattorney.com/ts.html
"
OS X runs its own (very basic) built-in maintenance routines, sometimes called "cron jobs," or "maintenance scripts," automatically between 3:00am and 5:30am each day. (There are daily, weekly, and monthly scripts.)"
There is something else you can do which is called forced prebinding, this make OSX check the links to all the programs so it has the quickest route to them, have a look at the following page:
http://www.chrisborkowski.com/archive/blogs/2005/07/force_prebindin.html
Also just search the web for OSX maintanance stuff the more you read the better your system will become.
Rob
G5 1.8Ghz DP & 15 iMac Mac OS X (10.3.9)