Also, about how long would it take to win a block?
This depends on many factors, including net hashrate, difficulty, your own hashrate, and random dumb luck.
Since the question started with CPU mining, we'll use that as an example.
A good cpu miner would average around 200 KH/s (Kilo-hashes per second).
If all the miners are collectively mining at a combined hashrate of 500 MH/s (mega-hashes per second) then the difficulty should be somewhere around 15 (ballpark, too lazy to pull out my calculator right now).
Statistically, you could reasonable expect to solve a solo block within 3 or 4 days, with a margin of error of infinity.
It boils down to luck. If your CPU is at one with the universe, you could potentially get a block a day, or an hour, or even every 120 seconds... or never.
The odds are stacked against you if the net hashrate is 500 Meg and you are mining at 200 kilo (500 MH/s = 500,000 KH/s).
This is why we like to use mining pools, to share our luck with others in return for the same.
In a pool, you would be pretty much guaranteed to receive about 10 trumps every day @ 200 KH/s with the difficulty at 15.