Can't help you with Designspark but I'm a (fairly) long time Eagle user and probably have created >400 custom parts. Its a PITA if its a custom footprint, but for the most part, creating something with a standard package, say DIP, the only time-consuming part is naming the pins and laying out the schematic symbol in a sensible manner. Things like putting the power pins on top, ground at bottom, inputs on left, outputs on right, but it isn't the best way all the time.
A shortcut is using a pre-existing part and copying it to a new libary, then modifying it, or linking it to a new footprint. The only way I have found to do this is with command-line interface, eg: copy MCP73833.sym@mylibrary.lbr
will copy the schematic symbol with that name, from 'mylibrary' to the current library. If you wish to copy the entire device (schematic symbol, and footprint, linked) then the suffix is '.dev'.
Eagle has *many* libraries available as its attached to Farnell - who often have the symbol/library files available for download.
For the most part it probably has most of the passives you will ever need built in, and quite a few common IC's. Things like opamps you can just use any opamp that has the same pinout and change its value on the schematic (its 'name' is ICx, IC3 for example, but its value is its part number). After a while creating a new symbol takes just a few minutes, possibly quicker for < 28 pins.
As far as I'm aware, there is still a free version, with the same limitation is has had for a while now, 100x800mm max dimensions, and only two layer. For though-hole boards, two layers is generally enough, as for the size, depends on the application! I haven't had many projects where a larger board was required, and if it was, I simply partitioned the design.