Definitely consider cleaning or changing your hoses first. They can easily get scratched and can be hard to clean. Many homebrewers replace their hoses on a 6-12 month schedule. It's cheap insurance.
Also, when you say "a little like vinegar" does that mean that the off-characteristic is detectable in the aroma AND flavor, but is at a low level, or that it's only detectable in the flavor and is sour, but doesn't taste exactly like vinegar?
If you're getting a sourness that is easily detectable in the aroma and the flavor, and which smells and tastes like vinegar, it's very likely to be an acetobacter infection and the off flavor/aroma is acetic acid - which is the active ingredient in vinegar. Since acetobacter is aerobic, it's an indication that air is getting into your keg and/or lines. So, in addition to replacing your hoses and sanitizing the bejeezus out of your equipment, also look for loose connections or poor seals where air might be getting in. That might also account for the fact that you're losing carbonation.
If you're getting a sourness which is hard to pick up in the aroma, but which is more detectable in the flavor, with a "crisper" less lingering sourness, reminiscent of yogurt, then you've got a lactobacillus infection and the sourness in your beer is lactic acid. Unless you're using old dairy equipment in your brewhouse, or are also making cheese or yogurt using the same equipment, the most common source of lacto bugs in beer is the human body, especially the human mouth. In any case, the solution is obvious - don't do it!
If you must touch your cooling wort or fermenting beer with your hands, you'll need to scrub your hands and sanitize them as if you were prepping for surgery. That means scrubbing from fingers to elbows with a scrub brush and surgical soap, paying special attention to the areas under and around the fingernails, for at least 5 minutes.
Another bad habit which can result in lacto infections is starting siphon hoses using your mouth. Even if you gargle with vodka or mouthwash, you'll need at least 2 minutes of contact time to sanitize your mouth, and even then you probably won't kill all the bugs. Use an autosiphon instead; not only is it much more sanitary, it's also a real time saver.