I've complete 8 triathlons in the last 3 season.  Distance vary from sprint (750M, 20Km, 5K) to long (2000M, 57KM, 15K).   I'm considering half-ironman in the next couple of years and maybe even a full ironman someday.  I'm not a pro and  try to find time to train in between work and regular life. Here's my philosophy on the swim:
Note: I went from a 19:48 swim in my first 750M race to a 38:00 2000M swim in my last race. 
Swimming - 1) Get coaching - Most public pools have Masters programs that can be joined for as little as $5  per session.  This will help you identify your stroke problems and work on correcting them.  Swimming is not power or endurance...it's technique.  Reach, bi-lateral breathing, etc.
2) Volume - Now that you know what's wrong you can work on fixing it.  Problem is that if your endurance is sub-par, technique get's dropped. Building endurance will allow you to focus on technique and fixing problems.  I recommend 2 swim sessions a week with anywhere from 2500M to 5000M in volume.  (I was doing 5000M/week for approximately 6 weeks and I saw the greatest improvement...the more the better)
Next time - Bike Philosophy