It depends greatly on how the .psd is constructed and what you need out of it.
For example, if you've got a master layer which always remains visible. They other layers which need to be visible for some buttons, but not for others, you may find using Layer Comps to be a good solution. You can simply toggle visibility for layers, then create a new layer comp. Do this for each element. Then you can export Layer Comps as files.
If you've got a .psd with each layer being a single item you need, as mentioned the script to export layers as files may help. Or you could set up an action -- Duplicate Layer (new file), Trim, Save for Web. Then assign an F key to the action. You could then simply highlight a layer and hit the appropriate F key.
Additional information concerning an action....
Option/Alt click the visibility icon next to the bottommost layer in
the layers panel. It should make only that layer visible.
Create new Action, assign it an F key in the new Action dialog
window and start recording.
Save for Web (whatever settings you need).
After the Save for Web hit Option/Alt ] (close bracket) on the
keyboard. (this should highlight, and make visible, the next layer
up)
Stop recording.
Click the dialog option next to the "export" step of the action.
Now, all you need do is hit the F1 key (or whatever key you assigned), hit the Enter Key, and type an image title. Then repeat - F1, Enter Type title, F1, Enter, type title, and so on until all layers are saved.
It's not perfect. But without scripting it's the best you can do. Perhaps someone can help with a script. Application scripts aren't my strong suit.