No, copying and pasting is not your problem, as long as you're not pasting directly from Word. It's just that normal text in html is set not to accept multiple line returns or multiple spaces. For anything fancy, you need html coding. Here you are:
A - Vertical space
1. Blank lines:
<div style="height:12px;"> </div>
<div style="visibility:hidden;height:12px;"> </div>
2. Line spacing ("leading"):
B - Horizontal space
3. Single space:
4. Creating space by using invisible characters:
5. Distance between letters ("kerning"):
6. Distance between words:
All these should be used in the html post editor, of course. They are all adjustable: no.3 by using it more than once in succession, no.4 by the number of characters typed in, the rest obviously by changing the number included in the code. Re 5 & 6, note that "span" is meant for words or phrases within a paragraph; for a single complete paragraph you use "p" instead.
C - Transferring preformatted text
This code is supposed to retain the formatting of pasted text; you can try it, but I think it will retain some elements only, not all formatting details (I haven't experimented with it enough to know what exactly survives and what doesn't).
By the way, please paste the exact URL of your blog when asking questions here - or link your nickname to your blog as explained in the Sticky 8 Things to Know. We usually need that to give a relevant answer.