I just walked out of a meeting with a startup, fighting the continual battle of what priority does SEO have when put into the programming queue. This meeting worked in my favor because a month ago the SEO plan was deemed "low priority". This week, as traffic numbers slump, SEO has been bumped to "high priority". The problem is SEO does not work overnight.
If the changes had been implemented a month ago we might not see the affects yet (even though it is an established site with high PR), but I'm positive rushing SEO at this point is not going to help. SEO work has to be planned well in advance. On-page SEO, from a programmers standpoint, sucks but it is not that time consuming. SEO needs to be implemented at least a few months in advance before you really see results. That time frame can shift depending on how established a site already is.
Regardless if you outsource SEO or have the in-house marketing team do it, is there enough emphasis on search engine optimization?