Sounds a lot like my bike which is also a CB350F, except for the idle and warm up issue. It's floggy (or boggy) when riding low rpms, it has a slight weak spot (almost like a very quick stall) around 5k. I haven't timed my bike appropriately yet, so that might be the reason (you timed yours with a good timing light while running right?) Another thing you might want to take a look at is the spark plug reference table. Which will tell you a lot about it's running condition. I'll be checking back, I'll let you know if I find a solution 2.
Here's that spark plug reference link:
http://www.dansmc.com/Spark_Plugs/Spark_Plugs_catalog.htmlHope that helps,
SD
ADDED:
Also just for a reference, when I start my CB350F I only keep the choke on for about 2 seconds, then middle for about 5-10 then just set it to full open. It will idle at about 900rpms till it warms up and then speed up to 1,100-1,200 where I like it. Normally I don't let the bike sit and warm up and just take out on 900rmps and after a few minutes it will be idleing 1,100.
A quick idle fix if the basics don't help is to take the air screws out (see attachment pic) When you take these out
make sure to count how many turns they take to come out so you can put them back the same way. It's a lot easier if you mark one side with a sharpie so you can remember which side was which.
Once you take them out there will be a little spring in there, you can just leave that in and take compressed air (you can go pretty strong) and blow down the hole, alot of times this will clean the idle jets out enough to make it run smoother.
Hope that helps, sorry i had type fast (in a rush :p)