My day-job includes making sure digitally stored data stays stored and unaltered. We accept a certain loss-rate as a hazard of doing business. Because of this, I'm fairly aware of all the myriad ways that data can go screwy in electronic systems.
I can see very little use for pure-electronic voting, and this is why I think this.
Voting in this country is an anonymous (mostly) thing. You go into your polling place, get a ballot, make your choices, leave your polling place. All the voting judges know is that you arrived and were given one (1) ballot, and at the end of the day the total number of ballots cast matches that of ballots handed out (minus spoiled ballots). The only record of your selections for your ballot are recorded anonymously but permanently in that polling place and then aggregated and submitted on up the chain.
In addition to the above, the recorded vote must be in a format that can be re-counted later should some provision of either the election process or law require recounting.
There are many, many ways that electronic data can go missing or change suddenly in such a way as to invalidate the above. Everything from malicious programmers sneaking in code to shift votes one direction, to insiders changing elections data outright once it is aggregated, to maintaining the technology can cause fault. The first, primary, foremost problem is that electronic data is very hard to make permanent. The second main problem is that electronic data is very easy to change once you have the right level of access.
It is a matter of course that the more complex a system gets, the more interesting ways it can fail. Prior to electronic voting, the most complex voting method was the mechanical lever system; which was prone to faulting and the prime reason it was phased out in favor of more efficient methods like optical-scan. Unfortunately, mechanical-lever is presumed to be the most accurate of voting methods due to the greatly reduced number of 'spoiled' ballots it produces.
Physical-methods of voting such as punch-card, optical-scan, lever (which produces a machine-readable tape, dials on the back, or something similar), and hand-counting, rely upon the counting of physical somethings and aggregating that number to arrive at a winner. Recounts are just that, the physical somethings are looked at again and the numbers jiggered as needed. The ballots or voting records are preserved for the express purpose of validating the election.
On the surface of it, electronic voting allows for great improvements in how elections are processed. As with lever, voters hit the button for their candidate and their vote is recorded. With enough technology, that vote can be transmitted in real time to the relevant voting authorities and therefore does away with the hand-count that happens in polling places after close. With zero spoiled ballots, the need for recounts is greatly reduced, and in the case of a recount can be performed in a matter of hours.
The problem is the permanent record of the vote. The most widely recognized method of making data permanent is to burn it to CD. In the physical schemes the permanent record is recorded at the time of voting. In the electronic methods this is a lot harder to accomplish. At the end of the voting period each electronic voting station may spit out a CD with that station's votes on it, akin to the lever-station's paper-tape.
Also, you have to trust, completely, that the software and hardware handling the voting process is 100 percent trustworthy. If you can't trust the voting machine to record your vote correctly, then the process is flawed. This is why the software and hardware that run electronic polling stations
needs to be open-source, so it can be peer-reviewed, and act as a verification as to whats running on the actual stations on election-day.
In my opinion, the 'best' permanent record of the vote would be a voter's receipt. Think check-out counter printer, but with your votes clearly marked on it. Should that receipt not match what you voted for, you get the chance to do it again. Once you've verified your receipt matches your votes, the receipt goes into the recount-box. At the end of the day your station reports the vote totals electronically, and then are further electronically reported up the chain. Should a recount be called for, or an audit of the effectiveness of the electronic system, the physical receipts can be hauled out for a manual recount.
This is because that despite all of our wonderful technology, paper really is the best archival mechanism for long term storage. For partially anonymous yet absolutely critical systems such as elections, it is the most reliable method next to rock-carving. Electronic data is fundamentally mutable, and elections data has to be fundamentally permanent.
Any electronic system really should be just a shell around the creation of a physical record. In the end, that physical record may be a bit of digitally-recorded/machine-readable (note: digitally recorded, not electronic. Barcodes are digital) something, or a bit of paper with the voter's preferences lined out. Once all that is done, it is a lot easier to trust the electronic system into the permanent physical record.
Unfortunately, there is another barrier to this. For the same reasons that the old lever systems were phased out, electronic systems are fundamentally complex. Also, election judges overwhelmingly are retirees, the least computer-savvy population segment. Should one of these complex machines glitch (printer dies, paper continually jams, a station smokes for no good reason, a display gets too dim to see, etc), they are not as prepared to handle the problem as would be ideal. Enough training will help this, but even optical-scan causes some people problems and that's been around since the 1970's.
No, electronic voting is not a good idea. It sounded neat in 1988 when the futurists thought it up, but reality hasn't caught up with them yet.