Is there a way to do Nandroid backup directly to pc and then restore it directly from pc also? My phone doesn't have enough space to store backup files so I wonder if there is a way to do Nandroid backup and restore with files stored on pc.
I have written some tools for exactly this purpose, due to similar frustrations: https://github.com/dlenski/tetherback

These tools are written in Python and use adb to create either nandroid-style backups (raw partition images from dd if=/dev/block/mmcblk0pXX) or TWRP-style backups (mixture of raw partition images and tarballs for ext4 partitions).

They attempt to probe the correct partition layout, and show the progress of the backup:

$ ./twrp_backup.py
Device reports TWRP kernel (3.4.0-bricked-hammerhead-twrp-g7b77eb4).
Reading partition map for mmcblk0 (29 partitions)...
  partition map: 100% Time: 0:00:03                                                                                                                                                                                
Saving TWRP backup images in twrp-backup-2016-03-17--18-53-12/ ...
Saving partition boot (mmcblk0p19), 22 MiB uncompressed...
  boot.emmc.win: 100% Time: 0:00:05   3.10 MB/s                                                                                                                                                                    
Saving tarball of mmcblk0p25 (mounted at /system), 1024 MiB uncompressed...
  system.ext4.win:   2% ETA:  0:06:29   2.69 MB/s  


This is a work in progress—feedback is very welcome!

Requirements:


Python 3.3+ under Linux/OSX/Windows.


progressbar package is needed (pip install progressbar should do it)

adb (Android Debug Bridge) command-line tools
Rooted Android device with TWRP recovery installed.   


The requirement for a rooted device and a custom recovery is never going to go away: if you don't have root access, then you have no means to copy the entire contents of your device's memory, simple as that.



EDIT: Looks like most of the traffic to https://github.com/dlenski/tetherback comes from this thread. The early issues with data corruption described in the comments below have all been resolved; tetherback now includes very strong checks against corruption.