I haven't used Moodle much but I come from a PHP background. I will be working on a new Moodle project and would like to get some thoughts on the complexity of the system.
How long does it roughly take to set it up from scratch and do some general customisations such as creating a new theme without adding any plugins or any major development work?
Is Moodle built using a specific PHP framework such as Zend or which PHP framework does it closely resemble?
Is it easier to take an existing copy of another Moodle site and upgrade and re-skin or is it better to start with a fresh copy of the latest version?
You will get better and more technical answers from the experts here but while they are on their way...
How long does it roughly take to set it up from scratch Depends if you mean for a large production site or just for testing on your local computer. Just for testing - a matter of minutes - from http://download.moodle.org/ or Git
such as creating a new theme Again this depends on whether you just want to change the odd colour here or there or create a major new look. Either way you would base your theme on pre-existing ones. See http://docs.moodle.org/dev/Theme_development
Is it easier to take an existing copy of another Moodle site and upgrade and re-skin - not sure what you mean or what you are wanting to use Moodle for: if you are working on a Moodle project I would say start with your own Moodle
Re: Moodle setup: Time taken, customisation and upgrade issues?
Mary has given some good answers. If you know php, and maybe more specifically, your server (Linux) system, and know what you are doing, you can install Moodle from scratch in less than 10 minutes. This is for a straightforward install, no modifications. But as Mary said, if you are doing a big school installation, and needing to like to external databases, create courses for 50 instructors, etc., it of course can take longer.
I have never created a theme from scratch, but I have tweaked both Formal White and Clean. HTML (CSS) is more helpful to do this than php.
If you really like someone else's install, then copying and modifying it might be a good solution. But it might be easier to install from scratch if you really intend to start new.