I've had no trouble with openssl and large files (several hundred mb, maybe 1 gig). Compress it first, to save some space.
Code:
openssl enc -bf -e -a -salt -in file.tar.bz2 -out file.tar.bz2.bf
mail -s "There you go" -a file.tar.bz2.bf your_friend@his.domain.tdl
Leave off the -a for no base64, and it will be done for you if by mail.
Then he'd need to know the passwd you used. However, if you already have his PGP key, then the above suggestion (w/GPG) is probably the better choice. Be aware that many mail servers have size limits on the files they will send (mine is 50mb). There are plenty of free webhosts, though, if you don't have your own site to post it. If you IRC, you could DCC it, too.
I came across this one, but not actually used it (I've an ftp server, so no real reason to). They report that you need javascript/flash enabled, but beyond that no weird limits/timers/downloaders needed. The do mention some ads, but that's to be expected if they are giving away bandwidth to host people's files (which costs money).
http://mihd.net/