I have had excellent results with CWGet and CWType both available at:
http://www.dxsoft.com/en/products/CWGet is a very nice receiving program that works better than any other I have used. I use it exclusively for copying my own code sending practice. The program will instantly show if you are crowding letters or words and will likewise show when you are using correct character spacing.
But don't use it in leiu of copying code in your head or on paper; if you do, your speed and accuracy will not progress. That said, I've found it a useful tool for improving my sending by improving timing between letters and between words.
For improving your copying speed, I like NuMorse Pro. It will send text files to you at whatever speed you want up to 50 Wpm. I found a list of the 2,000 most frequently used words in the English language and regulary listen to them at about 5 wpm faster than I can comfortably copy. I built my speed from around 15 wpm to its current 35 wpm in three months using this method three or four times a week for 30 mins each.
Best regards -- Roy, K4EEG