Is it possible to unroot a device? Once a device has been rooted, is it possible to unroot?

I also want to keep my data, so can I unroot without wiping/re-imaging?  If so, how difficult is this?
This really depends.  What phone are you using and how did you root it?

For example: some phones have an easy "one click" root method to root your phone.  They often have a reverse easy "one click" unroot method.  An example of this is EasyRoot for Droid.

As for doing it via a factory reset, that's not necessarily enough.  Factory resets usually (always?) wipe only the user partitions such as /data without touching the system partition, where su and other evidence of rooting is likely to remain.  Re-flashing the ROM should be enough though, although some devices have flash counters that may also be checked if you send in your phone for warranty purposes.