I use Photoshop and Illustrator for doing custom icons. There are cheaper programs available to do it though, like Pixelmator or iDraw. Both are a lot cheaper and will do the job.
I do custom folder icons and app icons all the time. Once I create the icon and save it as a png, I right click on program and hit Get Info. Once Info opens you just right click on upper left icon and replace it with new icon. Simple to do.
I do not customize my dock or menu bar and not even sure how customizable they even are anymore. I know you can change the indicator lights under the icons, but that is as far as I know.
There are other alternatives but most seem to only do icon customization only.