There are a few ways to improve rendering performance for single frames. If your workflow doesn’t require advanced rendering features like motion blur, instances, displacements, fur, then you might have the best luck with a renderer that uses the GPU for acceleration. Product renderings and architecture renderings are good candidates for GPU rendering.
If you don’t want to change your workflow dramatically for whatever reason there are two ways to improve the rendering performance for single frames. One is to build a very high performance single machine, and the other is to distribute the rendering of the image to multiple machines. Some renderers can send individual tiles to other clients on the fly, so if you start a render you see the tiles pop up as soon as they are done. If the renderer doesn’t support that the tiles can be sent off as individual renders and then reassembled after all of them are complete. Each method has pros and cons to consider.
GPU rendering: good bang for the buck and relatively inexpensive, doesn’t scale up to huge operations, only a few renderers to choose from, very limited rendering features (see first paragraph).
Distributed tile rendering: a good balance between expense and flexibility, most renderers support distributed tile rendering, can scale to huge operations, requires some tinkering and networking to setup.
Uberworkstation: very expensive and not very good bang for the buck, doesn’t scale to huge operations, doesn’t require any changes to the workflow.
If it were my money I’d find a way to make the distributed tile rendering work. Maybe upgrade the workstation if it’s old but also get a bunch of commodity machines to help with the rendering (four to eight cores, onboard graphics, 16-32GB of memory, small hard disk).