Hi,
for the paragraphs there there is a built-in function: nl2br() which converts line breaks to <br> tags.
You can simply leave everything as it is in the database, and only use this function before you display the text, or if you prefer you could use it to update the records in the db.
The lists may be a little more tricky, I'd probably keep on copying and pasting just as it is, and then use regular expressions to update the records.
E.g. if your list items start with a hyphen followed by a space at the beginning of the line when copied from word, you could use something like:
$string=preg_replace("/^-\s/m", "<LI>", $string);
$string=preg_replace("/(^<LI>.*$)+/m", "<UL>$0</UL>", $string);
(this is just a draft, doing it in 2 steps to keep things simple)
Hope this helps!
xblue
P.S.: In case you are new to regular expression, this part may look slightly confusing at first. Since I don't know a good tutorial, I'll try to explain it briefly:
The first argument is the search pattern, enclosed in delimiters (here: /)
^ represents the beginning of the string or in this case of the line, $ the end.
\s is withspace, and . means any sign.
The second argument is the replacement, $0 is a backreference which contains the current match.
P.P.S.: And surely more automization would be possible, but it may take more time to code it than you safe in the end.