I found a page eventually by searching for "piano key force" (was on second page I think) on Google. It shows that a stroke for a piano key may go to depth of 1.2 cm, and require a force of 167.51 g-cm/s^2 to be depressed at an acceleration of of 1 cm/s^2. A basic HiTec HS-311 servo has a torque of 3024 g-cm (42 oz-in) and has a speed of 60 degrees in 0.19 seconds. So if you used a 5 cm arm on the servo, the end would travel about 5 cm in 0.19 seconds (equilateral triangle). You only need 1.2 cm of travel so you would have to limit the position travel in software.
They may just travel fast enough, but you should test for sure. If you have a hobby store around to get a servo, get one, and try putting an arm on one to see how well it depresses a key. I don't have a piano around, or I'd try it. Servos seem to be a lot cheaper ($10 versus $20+) than solenoids and would use less power I think. There are even some cheapy micro-servos someone here mentioned for $4 each, though they have less torque than a standard, they are quicker.
You could probably rig something up with a solenoid, that would be my first port of call i guess, also, you could use a regular servo, just get a high torque one instead of a regular one