I agree that these people "should" have different roles. I would equate the roles to the business world where you have a board of directors (Congress), a CEO that is put in place by the board, and then the rest of the staff who reports up through the CEO. The board should set some general policy guidelines and approve an overall budget and give some guidance on the general direction of the organization. The board also should have the right to question the budget and modify if they feel that the organization is not spending money wisely. If the CEO is not performing, the board removes them and brings in someone else to run the organization. This model would allow career civil servants to make the day to day decisions within some guidelines set by the politicians. This model works pretty well in the private sector and I think it should work for agencies also.
However, this model breaks down if civil servants are not held accountable by their "board" for failing to meet their objectives and it also breaks down in the "board" overreaches and starts to get too involved in the day to day decisions. It is an interesting debate. In the business world, companies who are bad at figuring this out usually go under.