There are problems with DKIM and verifying the sending server. By signing with your DKIM signature it is possible to be reasonably certain that your server handled the message at some point. You can also be reasonably certain that the message was not changed after that point. This can be important if I present a mail message as evidence. (For instance, I can't change the price offered.)
I find a high percentage of legitimate DKIM signed messages can't be verified because the public keys are not published. (or at least aren't published correctly.) The fact I can find the signing keys provide me with some assurance that the sender is not trying to hide the origin of them message.
Combined with SPF I can rank messages signed higher or lower on the SPAM scale. If you are a permitted sender, I may choose to rank the message higher on the HAM side. Otherwise, I may count the message as more spamish.
A cleaner way of doing the signing is use an address in your domain in the From header, and put the clients address in the Reply-To header. Alternatively, you can put an address from your domain in the Sender header. Either way it becomes possible to match the Envelope sender to an address in the headers. While there is no need for the Envelope sender to be included in the header, some servers will rank you higher on the SPAM scale if it doesn't. In some cases, they may refuse your mail.