Based on Your Experience
I guess it all depends on the business model being followed. Many tmes, the people assigned to the role of BA by the business are not necessarily those individuals with in-depth knowledge of the business and it's strategic/tactical goals. Many times, these are lower level people without adequate training on how to do requirements elicitation, documentation, and management, and have no idea how to translate business requirements so that they are understood by the technology folks that need to implement them. But taking a good technical developer, even with years of design experience, will fail just as badly if they do not have the skills or mindset that the professional Business Analyst MUST possess.
In our IT organization, we have people that are responsible for managing the overall relationship with each business area of the company so that they can understand where the business wants or needs to go, as well as to keep them informed regarding other IT initiatives or projects that may be of interest or impact to them. When the business makes the decision to move forward on an initiative, the RM (relationship manager) engages the business' Solution Architect as well as IT's Business Analyst. The BA and BSA work together to define the business problem or opportunity, and then we work together to discover and document the requirements.
I guess your model is different than ours, and I would agree that the SWAT approach, where some strange IT professional drops in out ofthe blue (and probably not even invited) to impart their wisdom and tell the business how to do their job better, this just doesn't work very often.