Sounds like it could be a number of things. check for leaks, if you got bad seals you should be able to find them. check your gap, make sure you've got the correct plug, inspect your points, if all is dandy you may need to slightly adjust your timing. clean your carb & air filter. check your petcock and filters leading into your carb to make sure you're getting enough fuel. cruddy cocks, gunked up filters and kinked tubes are no good! check to make sure your cap isn't messed up and putting a vacuum on your tank. i had an issue like this with an Express, the cap was screwy and didn't vent well so i'd have to 'burp' it every so often to keep the fuel flowin. got pissed at it and drilled a hole through it, no more burpin for you Express!
i'd be almost willing to bet it's something with your fuel setup as far as the death @ speed. tank vaccum, cruddy cock, dirty needle valve, mis-adjusted float, etc...
rough running, that's a different story... could be electrical or it could be fuel, but if it corresponds with the death @ speed it would probably be your carb's float being set too low in the bowl so you just get a dab of fuel, valve closes, revs up, you run the bowl dry, dies down, get another dab...
more info? what carb / kit / pipe? jet sizes? idle rough / surge when cold or warm or both? did you change your reeds? (metal reeds = wet blanket)